スポンサーサイト
新しい記事を書く事で広告が消せます。
Windowsサーバ + IIS6 + PHP
Windows 2003 Server(64bit)に、IIS 6.0(64bit)にPHPを入れた時のはまり記録です。
PHPダウンロードどれを選べばいいのか分からず固まる。
5.2/5.3 VC9/VC6 zip/Installer Thread Safe/Non Thread Safe
どれだけ組み合わせがあるんだ。それなのに64bitはない不思議。
いろいろ調べて、IISではVC6+Non Thread Safeらしいということで5.3/VC6/Installer/Non Thread Safeを選択。ところが、InstallしてIISから設定(ホームディレクトリの構成からphp-cgi.exeを選択)したところ、全く動かず。
どうやら、php5isapi.dllというファイルが必要らしい。5.3にはないので5.2.1.4をダウンロード、ここにもない。5.2.1.4の4を3に変えてダウンロードするとようやく発見!
そしてまたIISの設定。今度はphp5isapi.dllを選択して、<? phpinfo(); ?>と書いたスクリプトを実行すると、Server Unavailableみたいなエラー。
詳細のメッセージを出すために、IEのインターネットオプションの「詳細設定」タブにあるブラウズ-「HTTPエラーメッセージを簡易表示する」のチェックを外す。
そして再実行すると、「%1は有効なwin32アプリケーションではありません。というエラー。」
今度は英語のページを調べてみると(日本語に答えがない場合は英語で探します)、最新のPHPには64bitがないので、IISも32bitで動かす必要があるとの事。
以下のおまじないコマンドを実行
cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
Webサービス拡張プロパティでphp許可(php5isapi.dll)、Active Server Pages許可、Webサイトのプロパティ→ホームディレクトリタブ→構成:マッピングの設定から、拡張子phpにphp5isapi.dllでGET,POST,HEAD,TRACEを設定してやっと動きました。
長い一日でした。
このエントリーにお寄せ頂いたコメント
スポンサードリンク