Не удалось записать файл базы данных chmod 777 на SQlite3 через php 5.3.0

Я пытаюсь вставить данные в мою базу данных SQlite3 (это работает через командную строку). Я дал разрешения на доступ к данным1.db 777, и все же он говорит, что он не может открыть файл.

Я получаю эту ошибку:

Warning: SQLite3::exec() [sqlite3.exec]: unable to open database file in /var/www/test.php on line 3 

Используя этот код:

 $db = new SQLite3('./data1.db'); $db->exec("INSERT INTO table1 (fileName) VALUES ('test.txt')"); 

Но странно то, что я могу читать из базы данных: (это работает)

 print_r($db->querySingle('SELECT fileName FROM table1', true)); 

Я запускаю PHP 5.3.0

Папка, содержащая файл SQLite, должна быть записана веб-пользователем, если вы хотите внести в нее изменения. Недостаточно того, что файл .db можно записать.

См. Почему DBD :: SQLite не может вставляться в базу данных через мой скрипт CGI Perl?

Попробуйте добавить пользователя sqlite в группу, которая владеет каталогами / var / www или вручную chown -R user: user / var / www /, каталог должен быть доступен для записи пользователем sqlite.

Обратите внимание, если вы запустите PHP с CLI, вы должны использовать «sudo -u www-data php script.php», чтобы PHP мог писать на sqlite.