1

I am running a Vista machine with IIS7. I believe (not 100% confident) IIS was working fine for me before I installed PHP from php-5.3.5-nts-Win32-VC9-x86.msi from official PHP website. I went ahead with the default install - did not cutomize anything. After the install, http://localhost gives me 503 Service Unavailable error. I have tried diagnosing using following links but can't find anything wrong. Please help me.

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

My apppools are running:
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)

I don't see any errors in either the Application Log or the System Log.

The CGI, ISAPI Extensions, ISAPI Filters are all checked as in http://www.php.net/manual/en/install.windows.iis7.php

also set following values in php.ini fastcgi.impersonate = 1 fastcgi.logging = 0 cgi.fix_pathinfo=1 cgi.force_redirect = 0

following mapping is set in IIS: Request path: *.php Module: FastCgiModule Executable: C:[Path to PHP installation]\php-cgi.exe Name: PHP_via_FastCGI

C:\Windows\System32\inetsrv>appcmd list config -section:system.webServer/fastCgi gives:
<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>

1 Answer 1

7

the solution provided here fixed the problem for me partly. It had nothing to do with PHP. I had added a url reservation sometime earlier when trying to experiment and self-host some WCF services, and removing that url reservation solved the problem:

http://haacked.com/archive/2007/05/21/the-iis-7-team-rocks.aspx
netsh http show urlacl
The result showed that I had reserved http://+:80/ which takes precedence over all other URLs on port 80.
Reserved URL : http://+:80/ User: METAVERSE\Phil Listen: Yes Delegate: No SDDL: D:(A;;GX;;;S-1-5-21-1527697538-1582451445-1978546337-1000)
The solution was to run this command:
netsh http delete urlacl url=http://+:80/
Which removed the reservation.

My php scripts now run, but http://localhost/iisstart.htm is giving me a blank screen. Need to investigate it further...

The blank screen problem was fixed using this post: http://forums.iis.net/p/1158261/1906535.aspx
Control Panel->Programs and Features->Turn Windows features on/off->IIS->WWW Services->Common Http features->Static Content

0

Not the answer you're looking for? Browse other questions tagged or ask your own question.