2007-04-25

Apache2 + PHP5 のインストール on WindowsXp


WinXpにApache2とPHP5をインストールしてみました。

Apacheは2.0.59のmsiインストーラ版で問題なく完了。

問題はPHP5でした。

最初、PHP5.2.1 をインストール
 → PHPのディレクトリを環境変数"PATH"に追加
 → 各種設定を変更
 → Apache再起動
 → OK!
 → phpinfo()を見たらCurlモジュールが有効になってない!
 → curl関数を使用してるスクリプトを開くと、案の定"Fatal error: Call to undefined function: curl_init() "のエラーが。
 → PHP5.2だから?バグ?

次にPHP5.1.4をインストール
 → 同じじゃん!

PHP5.0.4をインストール
 → Apache起動時にモジュールがextディレクトリにないよ!エラー発生
 → ちゃんとそこにphp_curl.dllはあるのに!
 → PHPのマニュアル「libeay32.dllとssleay32.dllがパスの通った場所にないとダメよ」
 → てかPHPのルートディレクトリにパス通ってるし!

PHP5.1.4に戻して
 → 起動時エラーはないけど、やっぱりモジュールは読み込んでない…
 → 試しにWINDOWSディレクトリにこいつらをコピーしてApache再起動
 → phpinfo()にCurlモジュールの項目が!

PHP5.2.1に戻して
 → 問題なし!
 → 結局、php5ts.dllやphp.iniをWINDOWSディレクトリにコピーしないでいいようにパスを通したり、設定したりしたのに、拡張モジュール用の外部dllはWINDOWSとかSYSTEM32とかに置かないとダメなのね…orz

ちなみに、PHPの過去バージョンは"http://museum.php.net/"からDLできました。ステキ。