DB接続時にPDOでcould not find driverが出た時の対処方法

DB接続時にPDOでcould not find driverが出た時の対処方法

f:id:AoiKugayama:20200722120130p:plain

PHPでデータベースを操作する時に、PDOを使用している。
ある時、ローカル環境でテスト実行を行った時にデータを取ってこなくなった。
その際にエラー時にトライキャッチでエラーメッセージを吐くメソッドがアウトプットした内容が下だ。

f:id:AoiKugayama:20200722130845p:plain

could not find driverとは

これば、必要なドライバーがみつからないと云うメッセージ。
今回はPOD ExceptionということでPODドライバーが無いと云うことがわかる。

対応

ここでphpinfoからPDOののドライバーを確認する。

sqlite3ドライバの確認(PHP) | ガンマソフト株式会社

使用しているDBのmysqlが入っていればOKだが、確認時は「no value」の表示だった。

PODドライバーはPHP5.1.0以降ではデフォルトで有効になっているはずだが、何かの表示にいじってしまったのかも知れない。

さて、対応した方法であるが自分はWindousユーザーの為Windows用の対応を行う。
PODを含む各種ドライバーは基本的に、共有モジュールとしてPHPに同梱されている。
そのためphp.iniファイルを操作するだけで使用するしないが変更出来る。

対応1

php.ini

extension=php_pdo.dll

「;」セミコロンが先頭についていてコメントアウトになっているのでこれを消して有効にしてあげます。

対応2

php.ini

extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

php_Pdo.dllに続いてその他のデーターベース固有のDLLを指定してあげます。

ここで注意するのが、上記で指定したDLLはextension_dirにある必要があります。
このextension_dirは同じphp.iniでディレクトリを指定出来ます。
対応3

最後にPHPを再起動してあげると完了です。

IT企業勤務でブラックな会社の人は、未払金を勝ち取った記事で方法紹介してます👇

aoikugayama.hatenablog.com

aoikugayama.hatenablog.com

HTML、CSSJavaScriptのTipsは下記記事をCheck It Out!👇 

aoikugayama.hatenablog.com

aoikugayama.hatenablog.com

aoikugayama.hatenablog.com

にほんブログ村 IT技術ブログ IT技術メモへ

にほんブログ村 ライフスタイルブログ ライフスタイル情報へ 

よかったらブログの登録で応援よろしくお願いします❗

このブロク《宗教上の都合家系ラーメン食べます

ぜひお願いします⇛

もう一つ運営してます。《くがやまあおいのお薬出しておきますね。

こちらもぜひ⇛

システム開発/プログラミングカテゴリの最新記事