LoginSignup
33
26

More than 3 years have passed since last update.

PDOで could not find driver が出たとき

Last updated at Posted at 2018-05-20

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

これでまた動くようになった。

33
26
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
33
26