Windows 7 マシンに XAMPP と PostgreSQL をインストールしました。
Apache の httpd.conf ファイルと PHP.ini ファイルを適切に構成したところ、動作しました。php.ini ファイルの「extension php_pgsql.dll」行のコメントを外し、\php、\php\ext、PostgreSQL の \bin および \lib ディレクトリを PATH 変数に追加しました。
C:\Program Files\PostgreSQL\9.2\lib;C:\Program Files\PostgreSQL\9.2\bin;C:\xampp\php\ext;C:\Program Files (x86)\PostgreSQL\EnterpriseDB-ApachePHP\php;C:\xampp\php;
Windows と互換性のある php_pgsql.dll ファイルをダウンロードし、\php\ext にコピーしました
Apache サーバーを起動しようとすると、次の 2 つのエラーが発生します。
「プロシージャ エントリ ポイント _regexec@20 がダイナミック リンク ライブラリ php5ts.dll に見つかりませんでした。」
と
「PHP の起動: 動的ライブラリ 'C:\xampp\php\ext\php_pgsql.dll' を読み込めません - 指定されたプロシージャが見つかりませんでした。」
したがって、これらのエラーは明らかに致命的ではありません。つまり、サーバーは引き続き起動し、起動を完了します。また、php.ini の「拡張子 php_pgsql.dll」行をコメントアウトすると、エラーが消えます。PHP と apache からの関連するエラー ログは次のとおりです。
アパッチ:
[Thu Nov 15 10:48:11.763770 2012] [mpm_winnt:notice] [pid 5420:tid 320] AH00455: Apache/2.4.3 (Win32) OpenSSL/1.0.1c PHP/5.4.7 configured -- resuming normal operations
[Thu Nov 15 10:48:11.763770 2012] [mpm_winnt:notice] [pid 5420:tid 320] AH00456: Server built: Aug 18 2012 12:41:37
[Thu Nov 15 10:48:11.763770 2012] [core:notice] [pid 5420:tid 320] AH00094: Command line: 'c:\\xampp\\apache\\bin\\httpd.exe -d C:/xampp/apache'
[Thu Nov 15 10:48:11.764770 2012] [mpm_winnt:notice] [pid 5420:tid 320] AH00418: Parent: Created child process 5728
[Thu Nov 15 10:48:13.489869 2012] [ssl:warn] [pid 5728:tid 328] AH01873: Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Nov 15 10:48:16.520042 2012] [mpm_winnt:notice] [pid 5728:tid 328] AH00354: Child: Starting 150 worker threads.
PHP:
[15-Nov-2012 15:48:11 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_pgsql.dll' - The specified procedure could not be found.
in Unknown on line 0
[15-Nov-2012 15:48:16 UTC] PHP Warning: PHP Startup: Unable to load dynamic library 'C:\xampp\php\ext\php_pgsql.dll' - The specified procedure could not be found.
in Unknown on line 0
PostgeSQL データベース用の PHP インターフェイスを作成できるように、このセットアップを行いたいと考えています。これは単なる遊びであり、専門的な文脈ではありません。