php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #23907 Need additional installation step for IIS 6.0 / Windows Server 2003
Submitted: 2003-05-30 14:15 UTC Modified: 2005-03-29 11:12 UTC
Votes:41
Avg. Score:4.5 ± 1.1
Reproduced:33 of 35 (94.3%)
Same Version:17 (51.5%)
Same OS:27 (81.8%)
From: bryn at mrpath dot com Assigned:
Status: Closed Package: Documentation problem
PHP Version: 4.3.2 OS: Windows Server 2003
Private report: No CVE-ID: None
 [2003-05-30 14:15 UTC] bryn at mrpath dot com
In order to get php working on IIS 6/Windows Server 2003, there's an extra step needed in installation. 

You have to "allow" the php service extension. One way to do this is to go to the new manage your server icon, select manage application server, and choose the web service extensions folder in the MMC tree under IIS manager. Then choose the "add a new web service extension" put php in the extension, c:\php\php.exe in the file name, and check the allow box. 

The windows installer doesn't do this, and the windows install.txt readme in the zip doesn't mention this needs to be done.

When this is not done, IIS reports error 404, file not found.

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2003-06-27 13:12 UTC] philip@php.net
The following article explains how to do it for both ISAPI and CGI, this type of information needs to live in the PHP manual:

http://www.macromedia.com/devnet/mx/dreamweaver/articles/php_iis.html

Various user comments also refer to this type of information.  AFAICT, this new information is specific to IIS 5 and above and we can add a IIS 5 or newer subsection here:

http://www.php.net/manual/en/install.iis.php
 [2003-06-27 13:25 UTC] bryn at mrpath dot com
So, I think it's specific to windows server 2003 due to being preconfigured for "security". Having said that, I don't think you can get IIS 6 for other platforms (not speaking with knowledge here) since win2k3 comes with IIS6 I doubt many people are going to be running other versions of IIS. It is specific to IIS though, as win2k3 won't be able to prevent Apache from serving up php.

Regarding if it applies to ISAPI, I don't know. I vaguely recall thinking that it might apply only to cgi only to be surprised that it was censoring ISAPI as well. I'll try and look in to this when I get back from vacation.
 [2003-08-07 00:31 UTC] palash at cargofusion dot com
well i find this lines on install.txt
--------------------------------------
Note that this version does *NOT* install any extensions or server
 api versions of PHP.
---------------------------------------------------
-palash
 [2003-11-19 21:42 UTC] thenry at mysideproject dot com
Okay, I have been having the same issue for a week now on Windows 2003 server/PHP 4.3.4.  I added the web service extension as noted in this post.  I am still getting the "HTTP Error 404 - File or directory not found. Internet Information Services (IIS)"

When I initially installed the Window binary the following alert windows popped up.

1. IIS has been configured.
2. IIsext : Windows cannot find 'iisext' make sure you typed the name correctlly, and try again.  To search for a file, click the start button, and then click search.
3. Could not execute the external program iisext.

Should I try the zipped version?  Any help would be appreciated.
 [2004-04-08 12:46 UTC] jrcole at ualr dot edu
Does anything special need to be done for other extensions, such as for mssql?  Im running Server 2003 with IIS 6, PHP installed as ISAPI, and everything PHP works great.  My only problem is using mssql commands.  Scripts that work perfect on XP running IIS with PHP as CGI will not even connect to our sql server, fails with @mssql_connect function.  Any ideas?  Is this even remotely related to extensions?  Viewing phpinfo shows mssql installed...  Thanks for any help.
 [2004-04-08 13:51 UTC] bryn at mrpath dot com
Other things to check on windows server 2003 installations (and other windows installations based on NT/2k server) are that extension DLLs have the appropriate ntfs security permissions (have to be able to execute by IIS acct iusr_machinename)
 [2004-08-21 05:52 UTC] yo at momma dot org
This need to go on the install.txt file. BIG TIME.   Searching google for ""HTTP Error 404 - File or directory not found. PHP IIS 2003""  and this article came up 7th. Does not bode well for noobs (A turn off, as in why bother) as well as experienced developers (A serious irritant, as in "Oh great, another speed bump and another hour or 2 of my time").
 [2004-08-22 20:55 UTC] philip@php.net
The IIS docs need help, someone who uses IIS should really update these docs.  Marking as critical.  The PHP installer should also look into being updated for this (although IMHO nobody should use the PHP installer!)
 [2004-09-01 17:53 UTC] joel at preacherboy dot net
I couldn't for the life of me get IIS 5.1 and PHP 5 in CGI mode to work. I ignored all previous PHP 4 related instructions as I figured them to be irrelevant. After reading  Philip's comments about the Macromedia tutorial, I finally decided using their method for CGI mode just might work.

All it took to get IIS 5.1 and PHP 5 to work in CGI mode was the following lines, never referenced in the official documentation as what you *must* do:

cgi.force_redirect = 0 // Default must be 1 when commented out.
cgi.redirect_status_env = ENV_VAR_NAME

Now that I'm not running in ISAPI mode, all of my scripts aren't open handles of dllhost.exe. dllhost.exe is no longer crashing every time the system is restarted.

Yay!
 [2004-12-17 01:46 UTC] unknown at simplemachines dot org
I can confirm that:
  - this affects Windows Server 2003 and IIS 6 only.
  - this is needed for both CGI or ISAPI mode.
  - this is currently not in the documentation.

A tutorial I wrote earlier this year covers many of the major steps involved, although it hasn't been updated for PHP 5 yet (it was written while PHP 5 was still in beta.)

The relevant section of said tutorial can be found here:
http://unknown.network32.net/tutorial.basic-server#configure.php.iis

The Macromedia tutorial linked to in one of the previous comments does *not* describe the necessary information either.  However, some comments to the documentation page do.

Any other problems are not related to this bug; notably, the whole CGI issue *is* properly documented already (although ISAPI is more efficient...)

Thanks,
-[Unknown]
 [2005-01-18 04:09 UTC] philip@php.net
When this bug report is dealt with (and closed!), also solve the following bug reports: #29275 and #21833
 [2005-03-29 11:12 UTC] philip@php.net
The documentation has been updated and will show up when the manual is next built. Thanks for the report :)

For good measure, here's the diff:
http://cvs.php.net/diff.php/phpdoc/en/install/windows/iis.xml?r1=1.10&r2=1.13

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Nov 23 15:01:29 2024 UTC