我正在使用IIS7运行Vista机器。我相信(不是100%自信)在我从官方PHP网站上安装php-5.3.5-nts-Win32-VC9-x86.msi的PHP之前,IIS工作正常。我继续使用默认安装 - 没有切割任何东西。安装后,http://localhost给出了503 Service Unavailable错误。我已经尝试使用以下链接进行诊断,但找不到任何错误。请帮帮我。
http://mvolo.com/blogs/serverside/archive/2006/10/19/Where-did-my-IIS7-server-go_3F00_-Troubleshooting-_2200_service-unavailable_2200_-errors.aspx http://www.php.net/manual/en/install.windows.iis7.php
我的apppool正在运行:
C:\ Windows \ System32 \ inetsrv> appcmd list apppools
APPPOOL“DefaultAppPool”(MgdVersion:v2.0,MgdMode:Integrated,state:Started)
APPPOOL“Classic .NET AppPool”(MgdVersion:v2.0,MgdMode:Classic,state:Started)
我在应用程序日志或系统日志中都没有看到任何错误。
CGI,ISAPI扩展,ISAPI过滤器都按http://www.php.net/manual/en/install.windows.iis7.php
进行检查还在php.ini中设置以下值 fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo = 1 cgi.force_redirect = 0
在IIS中设置了以下映射: 请求路径:* .php 模块:FastCgiModule 可执行文件:C:[PHP安装路径] \ php-cgi.exe 名称:PHP_via_FastCGI
C:\ Windows \ System32 \ inetsrv> appcmd list config -section:system.webServer / fastCgi
得到:
<system.webServer>
<fastCgi>
<application fullPath="C:\Program Files\PHP\php-cgi.exe" activityTimeout="60
0" requestTimeout="600" instanceMaxRequests="10000">
<environmentVariables>
<environmentVariable name="PHP_FCGI_MAX_REQUESTS" value="10000" />
<environmentVariable name="PHPRC" value="C:\Program Files\PHP\" />
</environmentVariables>
</application>
</fastCgi>
</system.webServer>
答案 0 :(得分:7)
这里提供的解决方案部分解决了我的问题。它与PHP无关。在尝试实验和自我托管时,我之前添加了网址预订 一些WCF服务,并删除该网址预留解决了这个问题:
http://haacked.com/archive/2007/05/21/the-iis-7-team-rocks.aspx
netsh http show urlacl
结果显示我保留了http://+:80/,它优先于端口80上的所有其他URL
保留的网址:http://+:80/
用户:METAVERSE \ Phil
听:是的
代表:没有
SDDL:
d:(A ;; GX ;;; S-1-5-21-1527697538-1582451445-1978546337-1000)
解决方案是运行此命令:
netsh http delete urlacl url = http://+:80/
其中删除了预订。
我的PHP脚本现在运行,但是http://localhost/iisstart.htm给了我一个空白屏幕。需要进一步调查......
使用此帖子修正了黑屏问题:http://forums.iis.net/p/1158261/1906535.aspx
控制面板 - &gt;程序和功能 - &gt;打开/关闭Windows功能 - &gt; IIS-&gt; WWW服务 - &gt;常用Http功能 - &gt;静态内容