2017-08-14 31 views
0

Windows 10 64ビット版(WAPP)でpgsql拡張機能を使用しようとしています。
私が持っている:pgsql拡張機能がロードされていません

  • は、Apache
  • 再起動
  • pgsql.dll
  • は、Apacheのビンにpgsql.dllを移動ロードするためにLoadFileを使用php.ini内のすべてのPostgreSQLの拡張をコメント解除(私はPHPのフォルダからとPostgreSQLの両方からDLLを試してみました)

まだ結果はありません。
pgsqlphp.exe -mにのみ表示されますが、phpinfo(),extension_loaded(),get_loaded_extensions()には表示されません。
私のPHPバージョンは7.1.8、PostgreSQLは9.6、Apacheは2.4.27です。
私のphp.exe -m出力:
php -m
何が問題になりますか?

答えて

0

通常、コマンドラインPHPは設定ファイルをApacheと共有しません。すなわち、Apache php.iniは、編集したものとは異なるものです。

phpinfo()をApacheで実行し、php.iniを検索して、読み込まれた設定ファイルを探します。

3

は、

さて【解決しよう】探しの数時間後、私はこの問題を発見しPDO_PGSQLなくするphpinfoに示すpgSQLのモジュール()の問題を解決することができました。

[SOLUTION]

php.iniで拡張をコメント解除した後は、httpd.confに入ると、全てのLoadModuleの行は、次の一番上に追加します。

LoadFileが「C:/プログラムファイル/ PostgreSQL/9.6/bin/libpq.dll "

(最新バージョンのPostgreSQLを使用している場合は、使用しているバージョンに変更してください)。

Apacheを保存して再起動します。 phpinfo()に移動すると、読み込まれたことがわかります。

[REASON]

のApacheでは、Apache/binフォルダにコピーした場合でもlibpg.dllを参照してくださいすることができません。

[環境]

  • のWindows Server 2016は、(同様のWindows 10のために働く)
  • のApache 2.4.26
  • (x64)のPHP 7.1.8(x64のTHREADSAFE VC14)
  • のPostgreSQL 9.6。4(x64)の
関連する問題