7

PHPで使おうとしているのですpostgresが、Apacheが拡張機能を読み込めません。

私は使用しています:

xamppを搭載したWindows 7(64ビット)、およびphpバージョン5.4.7を使用しています。すでにpostgresをセットアップしており、他のアプリケーションはデータベースにアクセスできます。

私のphp.iniで次の行のコメントを外すと

extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll

php-error-log にいくつかのエラーが表示されます。

[2013 年 6 月 22 日 13:15:22 UTC] PHP 警告: PHP の起動: 動的ライブラリ 'C:\xampp\php\ext\php_pdo_pgsql.dll' を読み込めません - Das angegebene Modul wurde nicht gefunden. 行 0 で不明

しかし、パスは正しく、ファイルはそこにあります。

いくつかの調査の後、次の行を http.conf に追加しました。

LoadFile "C:/Program Files/PostgreSQL/9.2/bin/libpq.dll"

しかし、この行をどこに置いても、apache-service はもう開始できません。ということでラインを外しました。

また、これらの 2 つのパスを PATH 変数に追加しようとしました。

C:\Program Files\PostgreSQL\9.2\bin
C:\xampp\php\ext

エラーは次のように変わりました

行 0 で不明

すべてが同じローカル マシンで実行されています。また、Linux / 別のサーバーを使用することは代替手段ではありません。

phpinfo()のpostgres関連のものは表示されません。

誰かが問題を解決する方法を知っていることを願っています.Googleは私をまったく助けませんでした.

4

2 に答える 2

17

わかりました、どういうわけか私は最終的に問題を解決しました:

xampp と postgres を再インストールしましたが、postgres 32 ビット バージョンを使用しました (64 ビット バージョンも動作するはずですが、確認したかったのです)。

次に、拡張機能をphp.ini再度有効にしました。

extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll

ファイルが見つからないというエラーが再度発生しました (php_error_log)。

これを読んだ後:

http://postgresql.1045698.n5.nabble.com/pgAgent-installation-fails-LIBPQ-DLL-is-missing-PostgreSQL-9-0-2-x64-2008-Windows-Server-x64-td3351434.html

postgres 8.4 からダウンロードlibpq.dllし、apache/bin と postgres/lib の両方にコピーしました (そこから dll を置き換えました)。

私のPath-VariableにはまだC:\xampp\php\ext\ありますが、その部分がなくても機能するはずです。

私はこの問題に 3 日間取り組みましたが、他の人がより速く立ち上げて実行するのに役立つことを願っています。

于 2013-06-24T08:53:16.800 に答える
6

これに対する別の解決策はコピーです

c:/xampp/php/libpq.dll

c:/xampp/apache/bin/

ソース

于 2014-02-12T19:58:31.200 に答える