GDライブラリなどPHPの拡張ライブラリを導入する際に、php.iniのコメントアウトを外すだけ、というインストールの単純さにも関わらずエラーが出るケースがあります。これで躓く方もおられるでしょうから、以下に症状と原因・対策を掲載しておきます。(確認バージョンは 4.3.4 です)
コメントをはずしたDLLが間接的に利用しているDLLが不足している場合、アラートが2回出る。なんというDLLが足りないか、が1回目、どのDLLでそれを呼び出しているか、が2回目だ。このアラート内容から必要なDLLをインターネット等からインストールすれば解決する。どうしても分からない、またはDLLが得られない場合は2回目のアラートで表示されるDLLをコメントアウトすればよい。
このエラーは、php.exeが./MIDSフォルダを見つけられないために発生する。例えばPHPをインストールした場所が c:\php\ で、D:\InetPub\wwwroot\foo.php などのファイルを実行しようとした場合にこのエラーが出る。
現在のPHP(ver. 4.3.4)は<実行したいファイルのドライブ>:\usr\midsのみしか検索しないようになっているので、先の例の D:\InetPub\wwwroot\foo.php を問題なく実行できるようにするには、D:\php\midsに./MIDSフォルダの中身を全部コピーすればよい。
PHP Warning: PHP Startup: Unable to load dynamic library 'd:/php/ext\php_pdo_mysql.dll' - 指定されたモジュールが見つかりません。
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'd:/php/ext\php_pdo_pgsql.dll' - 指定されたモジュールが見つかりません。
in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'd:/php/ext\php_pdo_sqlite.dll' - 指定されたモジュールが見つかりません。
in Unknown on line 0
のように、一部の DLL のみがエラーになっている場合は、実行時に一緒に出てくるダイアログをよく読みましょう。
php_pdo.dll が見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションをインストールし直すとこの問題は解決される場合があります。
この文の XXXX.dll とある DLL ファイルはコンソール上で「指定されたモジュールが見つかりません」と出た DLL が依存しているライブラリです。
大抵の場合は指定されているとおり php.ini の設定で有効にすることで解決します。
php.ini:
; 前略
; extension=php_pdo.dll ←コメントをはずす
extension=php_php_pdo_mysql.dll
extension=php_php_pdo_pgsql.dll
extension=php_php_pdo_sqlite.dll
; 以下略