Здравствуйте.
Столкнулся с ошибкой 8 - attempt to write a readonly database [Sqlite]. В интернете особо информации о ней нет (многие советуют поставить права 777 файлу sqlite, но это только ухудшает ситуацию).
Собственно обстановка:
Имеются два файла test.php и test_web.php, они подключены к data.sqlite. К test_web.php обращаюсь get-запросами, использую INSERT, чтобы записать в таблицу, и вывожу ошибку через $db->lastErrorMsg() - получаю attempt to write a readonly database.
Далее решил проверить, как это все пройдет в ssh, переделал файл под $argv, написал в ssh и все отлично работает. Внимательно посмотрел файлы, заметил, что они все пренадлежат root (apache2 работает через www-root), решил через chown -R www-root:www-root сделать владельца и группу www-root (для базы Sqlite + test_web.php) и в результате получилось:
14 - unable to open database file
То есть доступ вообще исчез
Убедитесь, что каталог, содержащий файл базы данных, также доступен для записи пользователю, выполняющему сценарий CGI:
chown www-data:www-data /var/database/
chown www-data:www-data /var/database/DATABASE.sqlite
Официальный FAQ:
Q) I get the following error:
attempt to write a readonly database
But when I try the obvious fix (making it not read-only), I get the following error:
unable to open database file
What's up with that? I'm accessing through the pysqlite wrapper in a cgi-script.
A) Make sure that the directory containing the database file is also writable to the user executing the CGI script.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости