観る将エンジニアブログ

見る将歴8年のエンジニアの技術系ブログ。

PHPでPDO使ってDBにレコード挿入しようとしたときの起きたエラーまとめ

PHPでSQlite3を使うときにinsertやupdateできない事態に陥ったので忘備録。

結論から言うと

DBファイルとそのディレクトリに書き込み権限が足りていないのでchmodで権限付与

で解決しました。

attempt to write a readonly database

DBの書き込み権限が足りていませんでした。

ls -l
-rw-r--r-- #書き込み権限なし
chmod 777 xxxx.sqlite3 #777は乱暴
ls -l
-rwxrwxr-x 

unable to open database file

DBがあるディレクトリにも権限が必要。

drwxr-xr-x 2 root root     4096 Jan 26 17:33 tsumetore
chmod 777 tsumetore/ 
drwxrwxrwx 2 root root     4096 Jan 26 17:33 tsumetore

二度あることは三度ある

権限系は1回やっても忘れたころに同じ操作して??ってなるので

ノウハウは忘れず残していこうと思います。