◆ php-sqlite3
◆ cifs マウントしてるところに db 置くなら nolock オプション 

PHP はいつの頃からか SQLite がデフォルトで含まれてるから簡単に使えるとか聞いたのにいざつかってみたら 意外と苦労しました

PHP Fatal error:  Class ' SQLite3' not found

SQLite3::exec(): database is locked

とかエラーでました

Class  'SQLite3' not found

クラスがないエラーは Linux (fedora) なら
dnf install php-sqlite3
で インストールします
中身は php-pdo なので
dnf install php-pdo
でも良いです

はまったのは 「きっと php-sqlite3 みたいな名前のパッケージ入れればいけるだろう」と思って
dnf search php-sqlite3
とか
dnf search php
で探したのに出なかったところです

php-sqlite3 というのは自身がパッケージではなくて php-pdo を指しているグループ名かエイリアスかそういう特殊なものみたいで search では引っかからないようです
そのせいで php-sqlite3 というのはないんだ と思っていろいろ調べていてみつからなく苦戦してました


Windows なら ini ファイルのコメントアウトをはずすだけだったはず

database is locked

SQLite3 クラスが使えるようになったので使ってみるとさっそくエラーが出ました

ググってもあまり情報がなかったのですが 英語のフォーラムで見つけた情報では CIFS マウントしてるときに起こるようです

マウントオプションのこういうところに
-fstype=cifs,iocharset=utf8,file_mode=0777,dir_mode=0777

nolock オプションを追加すると使えるようになりました