I recently installed PHP 5.2.14 on a Windows 2003 machine running IIS 6 with FastCGI to do some PHP testing at home. I chose the fast CGI install and added several extensions during the install including Curl and Oracle. When I attempted pull a test page after the install completed, I saw the following php-cgi.exe application error on the Windows server’s desktop:
IIS sent the following error message back to the requesting browser after a couple minutes:
The FastCGI Handler was unable to process the request.
Error Details:
* The FastCGI process exited unexpectedly
* Error Number: -1073741819 (0xc0000005).
* Error Description: Unknown Error
HTTP Error 500 – Server Error.
Internet Information Services (IIS)
After some trial and error I was able to get my test page to display if I commented the “extension=php_curl.dll” and “extension=php_oci8.dll” lines in my php.ini file:
; Local Variables: ; tab-width: 4 ; End: [PHP_CURL] ;extension=php_curl.dll [PHP_GD2] extension=php_gd2.dll [PHP_MSQL] extension=php_msql.dll [PHP_MSSQL] extension=php_mssql.dll [PHP_MYSQL] extension=php_mysql.dll [PHP_MYSQLI] extension=php_mysqli.dll [PHP_OCI8] ;extension=php_oci8.dll [PHP_PDO] extension=php_pdo.dll [PHP_PGSQL] extension=php_pgsql.dll [PHP_SHMOP] extension=php_shmop.dll [PHP_SOAP] extension=php_soap.dll [PHP_SQLITE] extension=php_sqlite.dll [PHP_XMLRPC] extension=php_xmlrpc.dll
After some more trial error I was unable to get PHP to work without leaving the two lines commented. I tried both the VC6 thread and VC6 non thread safe versions and both exhibited the same behavior. On the PHP download page there is a “Which version do I choose?” section that basically explains that I should be using the VC9 version for IIS. Unfortunately, I only saw the PHP 5.3.3 VC9 download and I wanted to test with PHP 5.2.14.
I downloaded PHP 5.3.3 anyway and it worked. I guess I will be testing with PHP 5.3.3.
On a somewhat related note, if you are using FastCGI with IIS, you will probably want the VC9 PHP 3.3.3 non thread safe version. This article explains why.