MW211 EXIT

devlog
PHP/PDOが効かなくなった
2014年10月26日
PHPのインストール時に、PostgreSQLのPDOをインストールしたのだが
何か拍子に(たぶん何かをインストールしたことによる影響と思われる)、
そのPDOが効かなくなった(「phpinfo()」で参照しても見えてこない)

再インストール(ChangeもしくはRepair)を行っても解消しない。
(インストール済みになる、一回削除してからやっても同じ)

で、Apacheのエラーログ「apache-error.log」を見たら以下のエラーが出ていた。
┌──────────────────────────────────────┐
│Warning:  PHP Startup: Unable to load dynamic library                       │
│ 'C:\Program Files (x86)\PHP\ext\php_pdo_pgsql.dll'                         │
│ - このオペレーティング システムでは %1 は実行されません。                  │
└──────────────────────────────────────┘

この解決方法は以下の通り。

Apacheの設定ファイル(httpd.conf)の末尾に、以下が自動で追加されるので
そこに以下の一行(★)を追加すれば解消された。
┌──────────────────────────────────────┐
│PHPIniDir "C:\Program Files (x86)\PHP\"                                     │
│Loadfile "C:\Program Files (x86)\PHP\libpq.dll"                 ←★これを追加
│LoadModule php5_module "C:\Program Files (x86)\PHP\php5apache2_2.dll"       │
└──────────────────────────────────────┘
「C:\Program Files (x86)\PHP」の部分はPHPのインストール先。

なんでだろう?
分類:PHP、Apache