最近、Windows Server 2008 SP2のIIS 7でPHP 5.2.9-2をセットアップしました。ほとんどのものは正常に動作しているようです - PHPはうまく動作しています。すべてのPHPコードが完璧に動作します...デフォルトのページを除いて。デフォルトのドキュメント(index.php)はPHPによって解釈されず、ページはブラウザ内に基本PHPコードを表示するだけです。PHP7のデフォルトドキュメント(index.php)がIIS7でプレーンテキストとしてコードを表示する
ベストプラクティス - 全く同じコードの2つのページ(index.php + phpinfo.php): <?php phpinfo(); ? >
http://mysite.com/test/ - > "<のPHPのphpinfo(); >?"(平文で表示) http://mysite.com/test/index.php - > "<のPHPのphpinfo();?>"(平文で表示)
http://mysite.com/test/phpinfo.php - >適切な "ブルー/グレー" PHP情報ページ
何奇妙だことは次のとおりです。私のサイトのルート(http://mysite.com)はPHPをデフォルトドキュメントindex.phpで正しく解釈します。
「ベストプラクティス」(http://iis.net/fastcgi/configuration)でサイトを設定しました。 PHPはFastCGI経由で動作しています。 Index.phpは唯一のデフォルトのドキュメントタイプです。 "Mysite"はルートドライブのサブディレクトリに格納されており、IUSRにはアクセス権があります。 Handler Mappingsは* .phpの先頭エントリとしてFastCGI経由でPHPを表示します。
これは数時間にわたり調査されていますが、非常に類似した問題を抱えている他の人は見ていますが解決はありません。
ありがとうございます!
index.phpの名前を他の名前に変更すると、 test.php、http://mysite.com/test/test.phpにアクセスすると動作しますか? – Matt
はい、index.phpはphpinfo.phpと同じ厳密な1行phpinfo()呼び出しです。ファイルにanything_in_the_world.phpという名前を付けてください。それを "index.php"と呼びます。そうでないと、すべてのPHPコードがプレーンテキストで表示されます。 –