私のSQlite3データベースにデータを挿入しようとしています(これはコマンドラインで動作します)。 私はdata1.dbファイルに777の権限を与えましたが、それでもファイルを開くことができないと言います。PHP 5.3.0でSQlite3のchmod 777データベースファイルに書き込めません
$db = new SQLite3('./data1.db');
$db->exec("INSERT INTO table1 (fileName) VALUES ('test.txt')");
しかし、奇妙なことは、私は、データベースから読み取ることができるということである:このコードを使用して
Warning: SQLite3::exec() [sqlite3.exec]: unable to open database file in /var/www/test.php on line 3
:
は、私はこのエラーを取得する(これは動作します)
print_r($db->querySingle('SELECT fileName FROM table1', true));
PHP 5.3.0を実行しています
デバイス上のスペース? – LiraNuna
データベースに対する実行権限は必要ありません。実行可能なスクリプトやプログラムではありません。一般的には、パブリック書き込みアクセスを避ける必要があります。つまり、いつ誰がデータベースを破壊するかは気にしません(ファイルにパブリック書き込み許可がある場合は誰でもできます)。したがって、多くの場合、666、好ましくは664以上の厳しい権限を使用する必要があります。 –
はい、私はそれが欠陥であるかどうかを見るためにそれをテストしていたことを知っています。 (幸運にもそうではありませんでした)。 権限を644に変更し、wwwディレクトリの外に移動しました。 – Mint