WindowsのApacheでPHPを動かそうとしたときに、Cannot load mysql extension. といわれた

Windows 上に、Apache + PHP + MySQL の環境を構築していて、ハマった問題と解決策のメモ。

■事象


PHPからMySQLに繋ごうとすると、Cannot load mysql extension.というエラーが発生。Apache のログにも以下が出力されていた。
PHP Warning: PHP Startup: Unable to load dynamic library 'C:/Program Files/php-5.2.6/ext/php_mysql.dll'
PHPのインストール&設定は、Webなどに掲載されているとおりに正しく実施している

■原因&対策


Windows上でPHPから、MySQLに繋ぐには、適切なバージョンのlibmysql.dll がパスの通ったところになければならない。
普通にWindows用のPHPをインストールすると、インストールディレクトリにlibmysql.dll があるので(インストールディレクトリにパスを通していれば)問題にはならないが、この「適切なバージョンの」というところがポイント。
僕の環境では古いMySQLがインストールされていて、かつ、そのMySQLがパスの前の方に指定してあったため、別の「libmySQL.dll」が読み込まれて、上記エラーが発生していました。パスの順序を修正して解決。

いやあ、悩んだ・・・orz