web-dev-qa-db-ja.com

PostgreSql 'PDOException'とメッセージ 'could not find driver'

pdoはmysqlでは正常に動作しますが、pgsqlではエラー_'PDOException' with message 'could not find driver'_が発生します_php5-pgsql_を含む_pdo_pgsql_パッケージをインストールしました

http://packages.debian.org/sid/php5-pgsql

このパッケージは、PostgreSQLデータベース接続用のモジュールをPHPスクリプトから直接提供します。また、PHP Data Object拡張機能で使用するためのpdo_pgsqlモジュールも含まれています。

私のdsnは_pgsql:dbname=DB;Host=192.168.0.2_ですUbuntu 10.04を使用しています

20
Dipro Sen

1)php.iniextension=pgsql.so)でpgsql.soを有効にしましたか?

2)192.168.0.2インターフェイスでPostgresqlをリッスンしていますか? (netstat -tplnで確認できます)

3)Postgresqlへのアクセスをどのように認証しますか?

20
Jan Marek

このメッセージは、PHPでpostgresql拡張機能をinstallおよびactivateする必要があることを意味します

このソリューションは私のために機能します:postgresql拡張機能をインストールするには

[Sudo] apt-get install php-pgsql

その後、それをアクティブにするためにpdo-pgsqlファイルのpgsqlおよびetc/php/$PHP_VERSION/Apache2/php.ini拡張のコメントを外します

enter image description here

最後に、タイプ:

[Sudo] /etc/init.d/Apache2 restart

私の場合のようにApacheを使用している場合にApacheサーバーを再起動するには...

15
Goms

Postgresドライバーの場所をphpに伝える行のコメントを外していることを確認してください(通常はextension=pgsql.so) 概して php.iniファイル。

6
newenglander

同じ問題がありました。まず、php.iniで有効になっていることを確認してください。コメントを解除extension=php_pdo_pgsql...

拡張ディレクトリを設定するよりも!!

extension_dir = "ext" ; for your case it could be other dir.

構成を変更した後、サーバーを再起動することを忘れないでください。

4
Max Klax

これが私が問題を解決するためにしたことです。

  1. 編集php.iniおよび削除; from extension=pdo_pgsql。また、extension=pgsql.soからphp.iniファイル。

  2. 結果を確認する前に、Apacheサーバーを再起動してください。

0

の前のセミコロンを削除してみてください

extension = pgsql
extension = pgsql.so

php.iniファイルに含まれています

これは、XAMPPコントロールパネルから実行できます。

enter image description here

0