php、cakephpでエラー コンピューターに fbclient.dll がないため、プログラムを開始できません。

インストールしたphp.exeをコマンドラインから実行しようとすると、
次のようなエラーメッセージがダイアログとして表示された。

php.exe – システム エラー
コンピューターに fbclient.dll がないため、プログラムを開始できません。
この問題を解決するには、プログラムを再インストールしてみてください。

その後のphp.exeの動作に問題は無さそうなものの、毎回ダイアログの「OK」ボタンを
クリック等しなければならず面倒なため原因を探すことにした。

同様に
コンピューターに OCI.dll がないため、プログラムを開始できません。
コンピューターに libsybcs.dll がないため、プログラムを開始できません。
というエラーメッセージも毎回同じ順序で表示される。
環境は、Windows 7、php 5.5.9

さっそくファイル名でネットの情報を探してみると、fbclient.dllはFirebirdという
RDBMSで使われるファイルらしい事が分かった。
となると、phpの設定でそれを読み込もうとしていると推測できたので設定ファイルを見直した。

ちなみにエラーメッセージは次の順番で表示される。
fbclient.dll がない
OCI.dll がない
OCI.dll がない
fbclient.dll がない
OCI.dll がない
libsybcs.dll がない

加えて、OCI.dllはOracleのRDBMS、libsybcs.dllはSybaseのRDBMSらしい。
どれも自分の環境では使わないデータベースなので、これらに関するモジュールを
読み込ませないようにする事で問題を解決する事にした。
逆に、上記データベースを使用する場合はそれをインストールすればいいと思う。

実際の設定は、php.iniのextension=でモジュールを読み込ませようとしている行をコメントアウトする。
具体的には、以下のように該当行の先頭にセミコロンを入力する。
;extension=php_interbase.dll
;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client
;extension=php_oci8_11g.dll  ; Use with Oracle 11gR2 Instant Client
;extension=php_pdo_firebird.dll
;extension=php_pdo_oci.dll
;extension=php_sybase_ct.dll

これで問題が解決したかどうか、コマンドプロンプトからphpを実行する。
例えば、> php.exe -v としてバージョンを表示させるなど。

普段コマンドプロンプトからphpを使うことはそんなにないのだが、
CakePHPでコマンドプロンプトからcake.batを実行したら出てきたため、
しばらく何回も実行するだろうからやれやれ調べるかとなった(;-ω-)

ところで、PHPのサイトにWindows用 PHP 拡張モジュールというページがあり参考になった。