2009-06-08 4 views
2

최근 Windows Server 2008 SP2의 IIS 7에서 PHP 5.2.9-2를 설정했습니다. 대부분의 모든 것이 정상적으로 작동하는 것 같습니다. PHP가 훌륭하게 실행되고 있습니다. 모든 PHP 코드가 완벽하게 실행됩니다 ... 기본 페이지는 예외입니다. 모든 기본 문서 (index.php)는 PHP에 의해 해석되지 않으며 브라우저에 기본 PHP 코드 만 표시됩니다.IIS7에서 코드를 일반 텍스트로 표시하는 PHP 기본 문서 (index.php)

최상의 예 - 정확히 동일한 코드의 두 페이지 (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 정보 페이지

어떤 이상한 것은 내 사이트의 루트 (,)는 기본 문서 인 index.php를 통해 PHP를 잘 해석합니다.

"우수 사례"(http://iis.net/fastcgi/configuration)를 통해 사이트를 설정했습니다. PHP는 FastCGI를 통해 실행됩니다. Index.php는 유일한 기본 문서 유형입니다. "Mysite"는 루트 드라이브의 하위 디렉터리에 있으며 IUSR은 전체적으로 사용 권한을가집니다. Handler Mappings은 FastCGI를 통해 * .php에 대한 최상위 항목으로 PHP를 표시합니다.

몇 시간 동안이 문제를 조사했지만, 비슷한 문제가 있지만 해결 방법이없는 다른 사람들을 보았습니다.

감사합니다.

+0

index.php의 이름을 다른 것으로 변경하면 (예 : test.php, http://mysite.com/test/test.php에서 액세스 할 때 작동합니까? – Matt

+0

예, index.php는 phpinfo.php에서와 똑같은 단 한 줄의 phpinfo() 호출입니다. 파일 이름을 anything_in_the_world.php로 지정하면됩니다. "index.php"라고 부르면 모든 PHP 코드가 일반 텍스트로 표시됩니다. –

답변

1

문서 루트를 이동하여 발생하는 비슷한 문제가있는 것으로 나타났습니다 (here).

+0

링크를 제공해 주셔서 감사합니다. 나는 C : \ web \ mysite.com \에서 C : \ inetpub \ wwwroot \ mysite.com으로 사이트 이동을 시도했다. phpinfo.php는 여전히 작동하며, index.php는 이제 전혀 표시되지 않는다. - –

+0

Sean 어딘가에 구성 옵션이 있어야합니다. 사이트를 옮긴 색인 페이지 구성을 다시 한 번 확인하십시오. 빈 페이지가 없어야합니다 (오류 로그를 확인하십시오) – Matt

1

동일한 문제가있었습니다. Default.cshtml 파일이 루트 폴더에 있으면 결과가 빈 페이지라는 것을 알 수 있습니다. 삭제 해보십시오.

관련 문제