Здравствуйте.
Столкнулся с ошибкой 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.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Я планирую создать две таблицы для Пользователей и для Координаты ребенка
Знаю что inlineKeyboard могут возвращать callback_data при нажатии на них