Ich versuche, Daten in meine SQlite3-Datenbank einzufügen (dies funktioniert über die Befehlszeile). Ich gab der Datei data1.db 777 Berechtigungen und immer noch heißt es, es ist nicht in der Lage, die Datei zu öffnen.Schreiben in eine chmod 777-Datenbankdatei auf SQlite3 über PHP 5.3.0 nicht möglich
ich diesen Fehler:
Warning: SQLite3::exec() [sqlite3.exec]: unable to open database file in /var/www/test.php on line 3
Mit diesem Code:
$db = new SQLite3('./data1.db');
$db->exec("INSERT INTO table1 (fileName) VALUES ('test.txt')");
Aber das Merkwürdige ist, dass ich aus der Datenbank lesen: (funktioniert)
print_r($db->querySingle('SELECT fileName FROM table1', true));
Ich benutze PHP 5.3.0
Platz auf dem Gerät? – LiraNuna
Sie sollten keine Ausführungsberechtigung für die Datenbank benötigen - es ist kein ausführbares Skript oder Programm. Sie sollten normalerweise öffentlichen Schreibzugriff vermeiden - das bedeutet, dass es Ihnen egal ist, wer Ihre Datenbank zu irgendeinem Zeitpunkt zerstört (weil jeder es tun kann, wenn die Datei öffentliche Schreibberechtigung hat). Sie sollten also höchstens 666 und vorzugsweise 664 oder strengere Berechtigungen verwenden. –
Ja, ich weiß, ich habe es nur getestet, um zu sehen, ob das der Fehler war oder nicht. (Zum Glück war es nicht). Die Berechtigungen wurden wieder auf 644 zurückgesetzt und außerhalb des www-Verzeichnisses verschoben. – Mint