Sqlite - attempt to write a readonly database (Доступ только к чтению)

269
21 марта 2017, 14:54

Здравствуйте.

Столкнулся с ошибкой 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

То есть доступ вообще исчез

Answer 1

Убедитесь, что каталог, содержащий файл базы данных, также доступен для записи пользователю, выполняющему сценарий 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.

READ ALSO
Структура базы для координатов

Структура базы для координатов

Я планирую создать две таблицы для Пользователей и для Координаты ребенка

190
Keyboard Callback Telegram API

Keyboard Callback Telegram API

Знаю что inlineKeyboard могут возвращать callback_data при нажатии на них

508
Как удалить символы и буквы в preg_replace?

Как удалить символы и буквы в preg_replace?

Привет, помогите пожалуйста удалить - /buyЦИФРА_

218
При проверке xml с помощью libxml ошибка

При проверке xml с помощью libxml ошибка

Согласно спецификации https://wwww3

202