私はウェブサイトでSQLiteデータベースを使用しています。問題は、INSERT INTO
それを試そうとすると、PDOException
SQLSTATE[HY000]: General error: 8 attempt to write a readonly database
サーバーにSSH接続して権限を確認したところ、データベースには権限がありました
-rw-rw-r--
私は*nixのパーミッションにあまり詳しくないのですが、これは
- ディレクトリではありません
- 所有者には読み取り/書き込み権限があります ( によると、それは私です
ls -l
) - グループには読み取り/書き込み権限があります
- 他の人は読み取り権限のみを持っています
また、このsqlite3
プログラムを使用するために私が知っているあらゆる場所を調べましたが、関連するものは何も見つかりませんでした。
PDOがどのような権限でデータベースを開こうとしているのかわからなかったので、
chmod o+w supplies.db
さて、もう一つありますPDOException
:
SQLSTATE[HY000]: General error: 14 unable to open database file
INSERT
しかし、これはクエリを実行しようとしたときにのみ発生します後データベースが開いています。
何が起こっているのか何か分かりますか?
ベストアンサー1
結局のところ、問題は、PDO SQLite ドライバーでは、書き込み操作 (、、、など) を実行する場合、INSERT
実際のデータベース ファイルだけでなく、データベースが存在するフォルダーにも書き込み権限が必要であることです。UPDATE
DELETE
DROP