IIS6を使用しているWindowsServer 2003マシンにPHPをインストールしようとしています。fastCGIのバイナリの使用を含め、インストールについては このガイド に従いました。すべてを正しく実行しましたが、phpinfo();ページを作成すると、次のように表示されます。サーバーエラー、fastcgiサーバーに接続できません。
考えられるすべてのログを調べてみました。 IISログに役立つものはありません。PHPは、エラーなどをログに記録することはなく、イベントログにも何も記録しません。
助けてくださいそしてありがとう:)
それはかなり時代遅れのブログエントリであり、それ以来、人生は大幅に進んでいます。だからあなたがそのページで読んだすべてを忘れてください:)
1。 PHPをダウンロード:
Windows用のPHPの最新の安定バージョンをダウンロードします。この場合、PHP 5.3.6 x86非スレッドセーフZipファイルをダウンロードします(注:バージョン番号はPHPチームが新しい安定したバイナリをリリースする)として変更します。
http://windows.php.net/download/
http://windows.php.net/downloads/releases/php-5.3.6-nts-Win32-VC9-x86.Zip
Zipファイルの内容を_C:\PHP
_というフォルダーに抽出して、このフォルダーに次のサブフォルダー構造を作成します。
_C:\PHP\dev , C:\PHP\ext , C:\PHP\extras, etc
_
_php-*.ini
_ファイルの1つを_php.ini
_に名前変更し、必要に応じて編集します。
2。 IIS5.1/6.0用のMicrosoftのFastCGI拡張機能をインストール/構成します:
ここからダウンロードできるMicrosoftのIIS6FastCGI拡張機能をインストールします。
インストールしたら、_C:\Windows\System32\InetSrv\fcgiext.ini
_を編集して、次のものだけが含まれるようにします。
_[Types]
php=PHP
[PHP]
ExePath=C:\PHP\php-cgi.exe
_
3。構成IIS PHPスクリプトマップ:
サイトを右クリックしてプロパティを選択することにより、選択したWebサイトに_.php
_スクリプトマップを編集または追加します(またはグローバルに追加できます)。
_Home Directory
_タブを選択し、Configuration
をクリックします。
Add
をクリックします(または、まだ_.php
_スクリプトマップがリストされている場合は、それを削除して再度追加します)。
[実行可能ファイル]フィールドと[拡張機能]フィールドに次の値を入力する必要があります。
_Executable: C:\WINDOWS\system32\inetsrv\fcgiext.dll
Extension: .php
_
[OK]をクリックして、これらの変更を保存します。
4。構成PHP PHP.INIのFastCGI設定:
エディターで_C:\PHP\php.ini
_を開き、次の設定を見つけて構成します。
_fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
date.timezone = Europe/London ; (http://uk3.php.net/manual/en/timezones.php)
_
phpinfo();
ページを正しくレンダリングするには、今すぐタイムゾーンを設定する必要があるようですが、とにかくこれを設定することをお勧めします。
5。 PHPのテスト:
次のように_test.php
_というファイルを作成します。
_<?php
phpinfo();
?>
_
このページを参照してください。すべて問題がなければ、次のように表示されます。
その後、使用する拡張機能の決定など、構成を微調整するのはあなた次第です。
考えた後:
システムの設定方法によっては、_C:\PHP
_フォルダーのアクセス許可を調整する必要がある場合があります。それがかなりストックインストールであり、サイトがネットワークサービスアカウントを使用してアプリケーションプールで実行されていて、生成された_IUSR_<MACHINE_NAME>
_匿名アカウントを使用している場合は、何も変更する必要はありません。
C:\ WINDOWS\temp\php-errors.logのphpログにエラーが見つかる場合があります
これらは、php.iniファイル(これらの手順に従った場合はc:\ windows内)を変更し、行のセミコロンを削除した場合にのみ、イベントログに表示されます。
; error_log = syslog