- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP PDOライブラリが読み込まれない)
PHP PDOライブラリが読み込まれない
このQ&Aのポイント
- PHP5+Apache(2.0)+PostgreSQLで開発しており、PDOでPostgreSQLに接続しようとしたところ、「PDOクラスが見つかりません」というエラーが発生しました。
- phpinfo()関数で調べたところ、PDOのライブラリがロードされていないことが分かりました。php.iniには必要な設定が記述されており、DLLファイルも存在しているため、原因がわかりません。
- Apacheの再起動も行いましたが、問題は解決しませんでした。原因となる箇所があれば教えていただきたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Windows XP + Apache v2.05 + PHP v5.16で、SQLite が PDO で使っています。 phpinfo() で PDO欄と pdo_sqlite欄が表示されています? > php.iniには > extension_dir = "C:\php\php-5.2.0-Win32\ext" > extension=pdo_pgsql.dll > extension=php_pdo_pgsql.dll PostgreSQL は設定していないので不明ですが、SQLite, MySQL も同じ設定ですから間違っていないと思いますが、 extension=php_pdo.dll は記述しています? これは PHP のソースですか? pdo.dsn.mydsn="pgsql:host=xxx.xxx.xxx.xxx port=5432 dbname=mydb user=postgres password=sa" SQLite は下記のように記述しています。 $DSN = new PDO( "sqlite:C:\Prog...\Hoge.SQLite" );
お礼
qaz_qwerty_me様、早速のご回答ありがとうございます。 思いっきり抜けておりました、 extension=php_pdo.dll の記述が。 同僚の言葉を鵜呑みにしておりました。 ちなみに >これは PHP のソースですか? >pdo.dsn.mydsn="pgsql:host=xxx.xxx.xxx.xxx port=5432 dbname=mydb user=postgres password=sa" とりありますが、これはデータソースの設定をphp.iniで定義しております。PHPソースでは定義したデータソース名を使うというやり方で。 再起動してみてPDOがロードされていることが確認できました。 ありがとうございました。