WindowsにPHP4.4.8とApache2.2.8をインストールしたら起動エラーになる場合の対処方法
WindowsXP上に、Apache2.2.8とPHP4.4.8をインストールしたら、下記のエラーが出てApacheが起動しなくなります。
エラーメッセージ:
Error:The requested operation has failed!
症状
PHP4.4.8をインストールした後で、httpd.confを書き換えてApache2.2.8を再起動すると、
Error The request operation has failed!
というエラーが出て起動に失敗する。
さらに、ApacheのTest Configurationを実行すると、次のようなエラーが出る。
C:\Documents and Settings\Administrator>httpd.exe: Syntax error on line
128 of C:/Program Files/Apache Software Foundation/Apache2.2/conf/httpd.conf:
Cannot load C:/php/sapi/php4apache2.dll into server: \x8ew\x92....
Note the errors or messages above, and press the <ESC> key to exit.
原因
Googleで検索しまくること3時間、ついに原因を突き止めました。PHPのsapiフォルダにあるphp4apache2.dll というファイルが、apache2.2.xに対応していないそうです。
解決策
Apache 2.2.xとPHP 4.4.0-4.4.7用に対応したphp4apache2.dll-php4.4.x.zipをゲットして、設定します。
- http://www.apachelounge.com/download/ にアクセス
- ページの中ほどにある、php4apache2.dll-php4.4.x.zipをダウンロード
- 解凍する。
- 解凍したフォルダ中のphp4apache2.dllを、既存(php\sapi\)のphp4apache2.dllに上書きコピーして置き換える。
- 解凍したフォルダ中のhttpd.exe.manifestを、C:\Program Files\Apache Software Foundation\Apache2.2\bin\ にコピー
- Visual C++ 2005 SP1 Redistributable PackageをMSのサイトからダウンローしてインストール。
http://www.microsoft.com/downloads/details.aspx?FamilyID=200b2fd9-ae1a-4a14-984d-389c36f85647&DisplayLang=en - httpd.confに下記を追加
- Apache2.2を再起動(restart )
LoadModule php4_module "c:/php/php4apache2.dll"
AddType application/x-httpd-php .php
これで無事、Windows上でApache2.2.xとPHP4.4.xが起動できると思います。(^^)v
・・・とここまで書いたところで、既に同じことを書いてあるサイトを発見。orz