PHPのプログラムで、fputs でのファイル更新は出来るのに、SQLiteでデータベース更新が unable to open database file エラーで出来ませんでした。
これは下記ページで解決しました。
SQLiteは、データベースファイルへの書き込み権限だけでは無く、ディレクトリにも書き込み権限が無いとダメなんですね。
ジャーナルファイルを作成・削除するので、ディレクトリにも書き込み権限が必要とのこと。
PHPでSQLiteに書き込もうとしてGeneral error: 14 unable to open database file が出たときの対処
確かに、SQLite ではトランザクション中では、データベース名-journal というファイルが作成され、COMMIT 時にそのファイルが消えます。
よく考えればディレクトリにも書き込み権限が必要なのは当たり前でしたね。
コメント
SQLiteを用意する
SQLiteを用意する【更新】レイアウト改善