Month: October 2010

  • Php-cgi.exe application error on IIS with FastCGI

    Php-cgi.exe application error on IIS with FastCGI

    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:

    The instruction at “0x100f36ec” referenced memory at “0x000c0194”. The memory could not be “read”.

    IIS sent the following error message back to the requesting browser after a couple minutes:

    FastCGI Error
    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.