PDOとは
PHPからデータベースを操作するときにPDO (PHP Data Objects) という仕組みを使う。PDOがデータベースの違いをラップしてくれるおかげで、MySQLでもSQLiteでもMariaDBでも同じ感じでPHPから操作できる。
(ちなみにMongoDBなどNoSQLは別の方法が必要らしい)
ドライバが見つかりません
could not find driver
PDOを使っていたのだが、ある日から上記のメッセージしか出ないようになった。心当たりはPHPのバージョンをアップデートしたことくらい。
PDOからデータベース(僕の場合MySQL)を操作するためのドライバがインストールされてないことが原因らしい。以下のコードで確認できる。
$ php -m | grep pdo
pdo_sqlite
確かにSQLiteのドライバしか無い。
yumでPHPを7.2にアップデートしたのが原因っぽいので、同じくyumでドライバもインストール。
$ yum install --enablerepo=remi,remi-php72 php-mysql
これでまた動くようになった。