Php 5.3.0 üzeri Sqlite3 bir chmod 777 veritabanı dosyasına yazılamıyor

3 Cevap php

I'm trying to insert data into my SQlite3 database (this works via the command line). I gave the data1.db file 777 permissions and still it says it's unable to open the file.

Ben bu hatayı alıyorum:

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

Bu kodu kullanarak:

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

Ama garip bir şey veritabanından okuyabilir olduğunu: (bu işleri)

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

PHP 5.3.0 koşuyorum

3 Cevap

Eğer değişiklik yapmak istiyorsanız SQLite dosyayı içeren klasörü, web kullanıcı tarafından yazılabilir olmalıdır. Bu. Db dosyası yazılabilir olması yeterli değil.

Bkz http://stackoverflow.com/questions/1122885/why-cant-dbdsqlite-insert-into-a-database-through-my-perl-cgi-script

/ Var / www dizinleri sahibi grup, veya manuel chown-R kullanıcı sqlite kullanıcı eklemeyi deneyin: kullanıcı / var / www / dizini sqlite kullanıcı tarafından yazılabilir olmalıdır.

Eğer CLI ile PHP çalıştırmak eğer PHP sqlite yazabilirsiniz öyleyse, "sudo-u www-data php script.php" kullanmanız gerekir, dikkat edin.