500 error on fresh install of IIS and PHP
When attempting to run a PHP file on Windows server 2012 and IIS, I keep getting a 500 error. I cannot find any detailed logs or anything. However, when going to PHP Manager for IIS and click check config, I get the following error:
Detailed Error Information:
Module FastCgiModule
Notification ExecuteRequestHandler
Handler PHP55_via_FastCGI
Error Code 0xc0000135
Requested URL http://domain.com:80/brkld3ip.php
Physical Path drive:\sites\domain.com\brkld3ip.php
Logon Method Anonymous
Logon User Anonymous
I installed PHP using Microsoft Web Platform Installer 5.0 on a fresh install of Windows Server.
I am new to IIS coming from Linux. So I am not "learned" enough in IIS to know what's going on. I have tried updating C++ redistributable 2012 update 4 as a couple websites suggest. Anybody have any other ideas?
EDIT: Another thing I checked was memory limit. One site suggested my memory limit needed to be upped. No change.
EDIT: Question: Does Windows have to be rebooted for PHP changes to take effect?
There's a fairly good chance you're missing the correct VC++ runtime for the version of PHP you're running.
If you're running PHP 5.5.x you need to ensure the VC++11 runtime is installed:
http://www.microsoft.com/en-us/download/details.aspx?id=30679
Make sure you download and install the x86 version (vcredist_x86.exe
), PHP on Windows isn't 64 bit yet.
If you're running PHP 5.4.x then you need to install the VC++9 runtime:
http://www.microsoft.com/en-us/download/details.aspx?id=5582
I got caught out by a similar message, and it turned out that I had not installed the CGI Server Role (under IIS -> Application Development).
I had the same error for PHP 7.0.3 on a 2012 R2 server with IIS 8.5.
The solution is to install: Visual C++ Redistributable for Visual Studio 2015 32bits
Everything worked properly after installing this.
Still had the 500 error after installing the Visual C++ Redistributable for Visual Studio 2015 32bits.
Ran procmon from microsoft sysinternals and when requesting my php web page found
w3wp.exe C:\PHP\php-cgi.exe "ACCESS DENIED"
w3wp.exe is the app pool running under IIS
Giving the specific app pool user READ/EXECUTE permissions to c:\php fixed the issue.