php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #33606 IIS does not recognize php5isapi.dll as a valid w32 application.
Submitted: 2005-07-07 16:38 UTC Modified: 2007-08-22 16:30 UTC
Votes:5
Avg. Score:5.0 ± 0.0
Reproduced:4 of 4 (100.0%)
Same Version:2 (50.0%)
Same OS:3 (75.0%)
From: fordgt90concept at hotmail dot com Assigned:
Status: Closed Package: Documentation problem
PHP Version: 5.0.4 OS: Windows XP Professional x64 Edit
Private report: No CVE-ID: None
 [2005-07-07 16:38 UTC] fordgt90concept at hotmail dot com
Description:
------------
I have followed your guide and a two other 3rd party guides to install PHP 5 on Windows Server 2003 (Windows XP x64 Edition's big brethren) and both of them ended with all PHP files I tried to load returning a 500 Internal Server Error.  Once I figured out how to turn off friendly errors in Internet Explorer, I discovered it was producing the error "%1 is not a valid Win32 application."

Knowing that IIS itself was all fine and dandy (opens public HTML documents fine), I looked to find what should really be in place of that %1.  After about 30 minutes of trying to find an explaination online, I dedcided to try to isolate this as indeed being a PHP problem.  I went back into Web Sites Properties, Home Directory Tab, and took the .php configuration out under Configuration (file path was C:\PHP\php5isapi.dll).  When I do this, the PHP pages just hang when I try to access them but it does manage to change the title of the page to "Cannot find server."

Here is my test html page (only available if my computer is on obviously) which should just say "HTML and network settings are fine!":

http://67.138.134.169/index.html

Here is a test PHP file that should echo "It works!":

http://67.138.134.169/index.php


At the time of sending this, the PHP extension is configured in IIS.


Only changes in php.ini (copied from the recommended included in the zip)

doc_root = "c:\Inetpub\wwwroot"
extension_dir = "C:\PHP\ext"
cgi.force_redirect = 0
All extension= lines are commented out.


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-07-07 16:48 UTC] fordgt90concept at hotmail dot com
HTML = Works fine
PHP = "%1 is not a valid Win32 application." 500 Internal Server Error (Extension configured)
PHP = 404 Error (Extension unconfigured)
 [2005-07-07 18:44 UTC] sniper@php.net
Sorry, but your problem does not imply a bug in PHP itself.  For a
list of more appropriate places to ask for help using PHP, please
visit http://www.php.net/support.php as this bug system is not the
appropriate forum for asking support questions.  Due to the volume
of reports we can not explain in detail here why your report is not
a bug.  The support channels will be able to provide an explanation
for you.

Thank you for your interest in PHP.


 [2005-07-07 19:24 UTC] fordgt90concept at hotmail dot com
IIS complaining that php5isapi.dll is not a valid w32 application is an issue with PHP.  Since PHP fails to start, ISAPI filters show it as "Not Loaded."

I don't know if that is because I'm one of the few running x64 Edition, if it is because 5.0.4 has a flaw in it, or a combination of 5.0.4's inability to operate on Windows XP Professional x64 Edition.

I will try the latest PHP 4 release to see if that resolves the issue but I somehow doubt it will.
 [2005-08-08 15:36 UTC] fordgt90concept at hotmail dot com
Some friendly person contacted me after seeing this article and told me how to correct it.  The issue is indeed caused by IIS attempting to run php5isapi.dll with 64-bit extensions which would of course lead to failure.  I corrected this by entering the following into the Windows Run dialog:

cscript %SYSTEMDRIVE%\inetpub\adminscripts\adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1

If you people could kindly add a comment about installing PHP on the Windows 64-bi environment, it could potentially help many people.
 [2007-02-14 09:09 UTC] fordgt90concept at hotmail dot com
I am reopening this because I have since received five emails from people saying this fix worked.  The problem is PHP does not have a 64-bit binary and as time passes, more people are/will be using 64-bit environments.  I again request that issue be resolved.  At bare minimum, add it to the manual for installing PHP on IIS.
 [2007-02-14 11:05 UTC] tony2001@php.net
Reclassified as docu problem.
 [2007-03-01 18:50 UTC] fordgt90concept at hotmail dot com
If using the Windows "Run" dialog doesn't work.  Navigate to the location of "ADSUTIL.VBS" on your computer (Default: C:\Inetpud\AdminScripts) and create a batch file with the following line:

CSCRIPT ADSUTIL.VBS SET W3SVC/AppPools/Enable32bitAppOnWin64 1

Save the batch file and run it to correct the issue with IIS failing to run 32-bit applications.
 [2007-04-20 12:44 UTC] cryotek at elektro-statik dot co dot uk
I can confirm that this is an issue (I have just upgraded to Windows Server R2 x64 and installed php 5.2.1) and this solution does work.

I built the batch file version.
 [2007-06-29 01:56 UTC] mjprimeaux at msn dot com
Is there an x64 version of PHP.NET available?
 [2007-07-06 00:13 UTC] brentw at attentionplus dot com
Also confirming this is an issue using the latest windows installer on an x64 system.

I used the cmd line.
 [2007-08-22 16:30 UTC] tularis@php.net
This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.

Thank you for the report, and for helping us make our documentation better.


 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 26 14:01:29 2024 UTC