|
|
 |
This section contains notes and hints specific to IIS (Microsoft
Internet Information Server).
| Warning | By using the CGI setup, your server
is open to several possible attacks. Please read our
CGI security section to learn how to
defend yourself from those attacks. |
First, read the Manual
Installation Instructions. Do not skip this step as it
provides crucial information for installing PHP on Windows.
CGI users must set the
cgi.force_redirect PHP directive to 0
inside php.ini. Read the
faq on
cgi.force_redirect for important details. Also, CGI users
may want to set the
cgi.redirect_status_env directive. When using directives, be
sure these directives aren't commented out inside php.ini.
The PHP 4 CGI is named php.exe while in PHP 5 it's
php-cgi.exe. In PHP 5, php.exe
is the CLI, and not the CGI.
Modify the Windows PATH environment variable to
include the PHP directory. This way the PHP DLL files, PHP executables,
and php.ini can all remain in the PHP directory without cluttering
up the Windows system directory. For more details, see the FAQ on
Setting the PATH.
The IIS user (usually IUSR_MACHINENAME) needs permission to
read various files and directories, such as php.ini, docroot, and the
session tmp directory.
Be sure the extension_dir
and doc_root PHP directives are
appropriately set in php.ini. These directives depend on the system
that PHP is being installed on. In PHP 4, the extension_dir is
extensions while with PHP 5 it's
ext. So, an example PHP 5 extensions_dir value is
"c:\php\ext" and an example IIS doc_root value is
"c:\Inetpub\wwwroot".
PHP extension DLL files, such as php_mysql.dll and
php_curl.dll, are found in the zip package of the
PHP download (not the PHP installer). In PHP 5, many extensions are part
of PECL and can be downloaded in the "Collection of PECL modules"
package. Files such as php_zip.dll and
php_ssh2.dll.
Download PHP files here.
When defining the executable, the 'check that file exists' box may also
be checked. For a small performance penalty, the IIS (or PWS) will check
that the script file exists and sort out authentication before firing up
PHP. This means that the web server will provide sensible 404 style
error messages instead of CGI errors complaining that PHP did not output
any data.
PHP may be installed as a CGI binary, or with the ISAPI module.
In either case, you need to start the Microsoft Management
Console (may appear as 'Internet Services Manager', either
in your Windows NT 4.0 Option Pack branch or the Control
Panel=>Administrative Tools under Windows 2000/XP). Then
right click on your Web server node (this will most probably
appear as 'Default Web Server'), and select 'Properties'.
If you want to use the CGI binary, do the following:
Under 'Home Directory', 'Virtual Directory', or 'Directory', do the
following:
Change the Execute Permissions to 'Scripts only'
Click on the 'Configuration' button, and choose the Application Mappings
tab. Click Add and set the Executable path to the appropriate CGI file.
An example PHP 5 value is: C:\php\php-cgi.exe
Supply .php as the extension. Leave 'Method
exclusions' blank, and check the 'Script engine' checkbox. Now, click
OK a few times.
Set up the appropriate security. (This is done in Internet
Service Manager), and if your NT Server uses NTFS file system,
add execute rights for I_USR_ to the directory that contains
php.exe / php-cgi.exe.
To use the ISAPI module, do the following:
If you don't want to perform HTTP Authentication using PHP,
you can (and should) skip this step. Under ISAPI Filters,
add a new ISAPI filter. Use PHP as the filter name, and
supply a path to the php4isapi.dll /
php5isapi.dll.
Under 'Home Directory', 'Virtual Directory', or 'Directory', do the
following:
Change the Execute Permissions to 'Scripts only'
Click on the 'Configuration' button, and choose the Application Mappings
tab. Click Add and set the Executable path to the appropriate ISAPI DLL.
An example PHP 5 value is: C:\php\php5isapi.dll
Supply .php as the extension. Leave 'Method
exclusions' blank, and check the 'Script engine' checkbox. Now, click
OK a few times.
Stop IIS completely (NET STOP iisadmin)
Start IIS again (NET START w3svc)
With IIS 6 (2003 Server), open up the IIS Manager, go to Web Service
Extensions, choose "Add a new Web service extension", enter in a name such
as PHP, choose the Add button and for the value browse to either the ISAPI
file (php4isapi.dll or
php5isapi.dll) or CGI (php.exe or
php-cgi.exe) then check "Set extension status to
Allowed" and click OK.
In order to use index.php as a default content page,
do the following: From within the Documents tab, choose Add. Type in
index.php and click OK. Adjust the order by choosing
Move Up or Move Down. This is similar to setting DirectoryIndex with
Apache.
The steps above must be repeated for each extension that is to be
associated with PHP scripts. .php is the most common
although .php3 may be required for legacy applications.
If you experience 100% CPU usage after some time, turn off the IIS
setting Cache ISAPI Application.
PWS 4 does not support ISAPI, only PHP CGI should be used.
Edit the enclosed pws-php4cgi.reg /
pws-php5cgi.reg file (look into the SAPI folder
for PHP 4, or in the main folder for PHP 5) to reflect the location of
your php.exe / php-cgi.exe.
Backslashes should be escaped, for example:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\w3svc\parameters\Script
Map] ".php"="C:\\php\\php.exe" (change to
C:\\php\\php-cgi.exe if you are using PHP 5)
Now merge this registery file into your system; you may do
this by double-clicking it.
In the PWS Manager, right click on a given directory you want
to add PHP support to, and select Properties. Check the 'Execute'
checkbox, and confirm.
The recommended method for configuring these servers is to use
the REG file included with the distribution
(pws-php4cgi.reg in the SAPI folder for PHP 4, or
pws-php5cgi.reg in the main folder for PHP 5).
You may want to edit this file and make sure
the extensions and PHP install directories match your
configuration. Or you can follow the steps below to do it
manually.
| Warning |
These steps involve working directly with the Windows
registry. One error here can leave your system in an unstable
state. We highly recommend that you back up your registry
first. The PHP Development team will not be held responsible if
you damage your registry.
|
Run Regedit.
Navigate to: HKEY_LOCAL_MACHINE /System
/CurrentControlSet /Services /W3Svc /Parameters
/ScriptMap.
On the edit menu select: New->String Value.
Type in the extension you wish to use for your php
scripts. For example .php
Double click on the new string value and enter the path to
php.exe in the value data field. ex:
C:\php\php.exe "%s" %s for PHP 4, or
C:\php\php-cgi.exe "%s" %s for PHP 5.
Repeat these steps for each extension you wish to associate
with PHP scripts.
The following steps do not affect the web server installation
and only apply if you want your PHP scripts to be executed when
they are run from the command line (ex. run
C:\myscripts\test.php) or by double clicking
on them in a directory viewer window. You may wish to skip these
steps as you might prefer the PHP files to load into a text
editor when you double click on them.
Navigate to: HKEY_CLASSES_ROOT
On the edit menu select: New->Key.
Name the key to the extension you setup in the previous
section. ex: .php
Highlight the new key and in the right side pane, double click
the "default value" and enter phpfile.
Repeat the last step for each extension you set up in the
previous section.
Now create another New->Key under
HKEY_CLASSES_ROOT and name it
phpfile.
Highlight the new key phpfile and in the
right side pane, double click the "default value" and enter
PHP Script.
Right click on the phpfile key and select
New->Key, name it Shell.
Right click on the Shell key and select
New->Key, name it open.
Right click on the open key and select
New->Key, name it
command.
Highlight the new key command and in the
right side pane, double click the "default value" and enter
the path to php.exe. ex:
c:\php\php.exe -q %1. (don't forget the
%1).
Exit Regedit.
If using PWS on Windows, reboot to reload the registry.
PWS and IIS 3 users now have a fully operational system. IIS 3
users can use a nifty tool
from Steven Genusa to configure their script maps.
User Contributed Notes
Microsoft IIS / PWS
dieter at schuele dot name
18-May-2005 04:21
Took me two days to make PHP run under Windows Server 2003 SP1 IIS 6. I got 404, 401.1 and 401.3
Thanks so much for all your helpfull comments!
What helped me to get it worked:
(1) manual php isapi installation as described e.g. in http://www.benmardesign.com/IIS_PHP_MYSQL_setup/php_setup.html
(2) Find out in IIS under what AppPool you site is running. Then find out what user is listed under the idendity tab for that AppPool in IIS. Give this user (e.g. Network service) as well as IUSR_WPG and IUSR_MACHINENAME EXE/READ rights RECURSIVLY (use 'advanced' button) for complete php directory (e.g. c:\php) and its subdirectories. Also give EXE/READ rights for those users on c:\windows\php.ini and c:\windows\php4ts.dll
Good luck!
user at NOSPAM dot example dot com
11-May-2005 09:18
On installing PHP5 on IIS 5.0 as an ISAPI module we had to set cgi.force_redirect = 0 in order to get PHP to work.
We had thought it only applied to CGI environment, and had let it default.
peter at peterguy dot com
31-Mar-2005 12:43
Installing PHP 5 on Windows Server 2003/IIS6
It has come to my attention that the link to my PHP installation guide in my posting of 07-Feb-2005 11:49 is a Bad Link.
We don't like Bad Links.
Here's the correct one:
http://www.peterguy.com/php/install_IIS6.html
Enjoy!
-Peter
Marat
16-Mar-2005 03:50
The correct required NTFS ACL's are:
- for the folder holding your PHP files:
[Read] IUSR_servername
[Read] IWAM_servername
-for the folder holding the PHP executables:
[Read] IUSR_servername
Person who wants ISAPI version installer
25-Feb-2005 03:59
Supplementation to the previous hint
The environment is Windows 2003 Server/IIS 6/PHP 5.
About IIS 6 of Windows XP.
There is no 'IISEXT.VBS'.
It seems not to have to add it to the Web enhancing
(It is not an accurate intelligence ).
Moreover, when the method argument of iis6
isapimap add is omitted, it becomes an error.
Specify it following and specifying it.
iis6isapimap add .PHP C:\PHP\php5isapi.dll GET,POST,HEAD
Good Luck !
Person who wants ISAPI version installer
24-Feb-2005 03:34
Hint registered to IIS 6 as ISAPI without using GUI.
(It is a machine translation from Japanese to English. )
[Method of addition to Web enhancing]
'IISEXT.VBS' is attached to IIS 6.
<addition example>
iisext /AddFile C:\PHP\php5isapi.dll 1 PHP 1 "PHP: Hypertext Preprocessor"
<deletion example>
iisext /RmFile C:\PHP\php5isapi.dll
[Method of adding extension to Application Mappings]
To our regret, there is no good method in the standard. :-(
The source code of C# program that is registered and deleted is presented in the mapping.
(It is hoped that someone writes VBScript or the JScript version)
<addition example>
iis6isapimap add .PHP C:\PHP\php5isapi.dll
< deletion example>
iis6isapimap delete .PHP
C# source code
(Add 'System.DirectoryServices' to the reference)
------------------------------------------------------------
using System;
using System.Collections;
using System.DirectoryServices;
namespace IIS6ISAPIMAP
{
class StartClass
{
public static void print_man()
{
Console.WriteLine("IIS6ISAPIMAP [view|add|delete] <.ext> <ISAPI DLL PATH> (METHOD LIST)");
}
[STAThread]
static void Main(string[] args)
{
if ( args.GetLength(0) < 1 )
{
print_man();
return;
}
System.DirectoryServices.DirectoryEntry dent
= new DirectoryEntry("IIS://localhost/W3SVC/1/root");
ArrayList orglist
= new ArrayList( dent.Properties["ScriptMaps"] ) ;
if ( args[0].ToLower() == "view" )
{
foreach(string s in orglist)
{
Console.WriteLine(s);
}
}
else if ( args[0].ToLower() == "add" )
{
if ( args.GetLength(0) < 3 )
{
print_man();
}
else
{
ArrayList newlist = new ArrayList();
string ext = args[1];
string path = args[2];
string methods = args.GetLength(0) < 4 ? "" : args[3];
string newmap = ext + "," + path + ",5," + methods;
foreach(string s in orglist)
{
string [] tokn = s.Split(',');
if ( tokn[0].ToLower() != ext.ToLower() )
{
newlist.Add( s );
}
}
newlist.Add( newmap );
dent.Properties["ScriptMaps"].Value = newlist.ToArray();
dent.CommitChanges();
}
}
else if ( args[0].ToLower() == "delete" )
{
if ( args.GetLength(0) < 2 )
{
print_man();
}
else
{
ArrayList newlist = new ArrayList();
string ext = args[1];
foreach(string s in orglist)
{
string [] tokn = s.Split(',');
if ( tokn[0].ToLower() != ext.ToLower() )
{
newlist.Add( s );
}
}
dent.Properties["ScriptMaps"].Value = newlist.ToArray();
dent.CommitChanges();
}
}
else
{
print_man();
}
dent.Dispose();
}
}
}
araknyd
30-Jan-2005 06:03
IIS 5.1
MySQL 5.0.2 Alpha
PHP 5.0.3
phpMyAdmin 2.6.1
i had many errors including that all famous could not load extension error. I found out that when PHP5.0.3 win32 installer package (.exe) was installed I had no .dll files which I didnt realize was going to be a problem as i thought that these extensions were built in. I tried adding just the php_mysqli extension after downloading a snapshot version of PHP5.x.x which nicely had all the extensions available in a folder called 'ext'. I simply extracted the entire folder to my local php folder and redirected php.ini extension.dir="./ext/" and found that all the problems up to this point had been solved. Do not forget to uncomment the extensions you want in the php.ini file.
Good luck!!!
email me if youd like at domsinator@gmail.com
php at at dougdossett dot com
07-Jan-2005 01:05
I had problems upgrading to 5.0.3 isapi on my IIS 6/Windows 2003 server. Most of the instructions I found said to give the IUSR account access to various files/folders. In my case I needed to give access to "Network Service" (not to be confused with just "Network").
1. In IIS Admin, go to Application Pools
2. Right click on the pool your site is running under and click properties.
3. Go to the Identity tab and see what user is selected.
4. Give that user permissions to your php files/directory.
Don't know if this will help anyone else, but thought I'd offer in case.
ishqf at yahoo dot com
29-Dec-2004 08:49
Hi,
I have folowed the instruction given by the manual and installed Php 5 on IIS 5.1 running on top of XP. But the IIS was kep on throwing 404 eror whie accessing .php files.
In the manual instruction there is one incorrect entry for php.ini file :
doc_root = c:\inetpub
We need to change it to
doc_root = c:\inetpub\wwwroot
Please give your coments.
Thanks,
Ish
Andrew Weintraub
10-Dec-2004 08:09
As far as I know, PWS 4.0 does NOT include support for ISAPI. On http://support.microsoft.com/default.aspx?scid=kb;en-us;307439
Microsoft says, "Personal Web Server 4.0 does not provide any support for ISAPI." Before finding that help page, I've tried using it myself, to no avail. So, if you're using PWS 4.0 (especially on windows 98--see the first note), don't waste your time trying to use ISAPI.
david at ellought dot demon dot co dot uk
17-Oct-2004 07:44
Having just spent too many hours trying to get PHP 4.3.9 + PWS 4.0 + Win98 to work, I thought others might like to know the "feature" of PWS I've just discovered.
When you add the .php registry entry to [HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\ Services\ w3svc\ parameters\ Script Map], the next time PWS is started, it reads this entry.
Once it has done that, it doesn't matter what you do to the entry, it completely ignores you ! If you make an error in the setting the first time, that's it, you can never correct it ! If you want to change the directory that PHP is in, sorry, you can't ! Having read the setting once, it never looks at it again. You can even delete it, and it won't notice !
If you do want to change the value for .php, there is only one way to do it (that I have found). Uninstall and then reinstall PWS !!! And then make sure you set the .php correctly, first time, or you'll have to uninstall and reinstall it again !
In my case, the symptoms were HTTP 500 errors when I tried to browse to a PHP page, but I'm sure you could get other errors, depending on what you get wrong with this variable.
David.
megawhizzz at netscape dot com
11-Oct-2004 06:19
Path references (e.g. for browscap.ini) in php.ini MUST be enclosed with double-quotes (") instead of single-quotes(') for PHP to load correctly under IIS
you_1865 at hotmail dot com
25-Sep-2004 04:07
Windows XP Pro - IIS 5.1 - PHP 4.3.8
Thanks for instructions. PHP ans IIS Working fine for me :)
FT
scott at decisivecommunications dot com
06-Sep-2004 10:50
I had tons of problems getting php5 to work in IIS 5.1. So many reports have you just check phpinfo(); to see if it is working after an install, but once you run something with more complex (Wordpress) code it all goes to hell. I'm not pointing fingers I don't know where the bug lies.
For myself some problems (like blank pages that shouldn't be) we fixed by using the CGI instead of ISAPI.
But I still had the somewhat famous
"The specified CGI application misbehaved" http://bugs.php.net/bug.php?id=25863 could be an IIS problem someone reported it for PERL also, BUT...
By using the PHP 4.3.8 CGI installer everything is now apprently working smoothly.
Brew another pot and Good luck.
paul at heisholt dot net
30-Aug-2004 03:43
There's a bug in IIS 5.1 which may prevent you from adding an Application Extension Mapping. If the OK button remains disabled after you've entered the Executable and the Extension, try this workaround provided by Microsoft:
1. Right-click the individual Web site or the Web Sites folder, and then click Properties.
2. On the Home Directory tab, click Configuration.
3. Under Application Configuration, click Add, and then click the Mappings tab.
4. With the Add/Edit Application Extension Mapping dialog box open, click Browse to select the .exe file or the .dll file from the local path on the Web server.
Note:
You must type the path to a valid file in the Executable text box or the OK button remains unavailable. The easiest way to make sure that you enter a valid path is to select the file by using the Browse button.
5. After the path appears in the Executable text box, click in the Executable text box to initialize the path.
6. Click in the Extension space, and then type the file name extension.
Note:
- You must enter the period (.) in front of the extension in the Extension text box, or the OK button remains unavailable.
7. When the OK button becomes active, click OK to continue.
Source: http://support.microsoft.com/?id=317948
-paul-
webmaster at avalon dot de
12-Aug-2004 09:55
If you use IIS6 you have to add a new Webextension for PHP to work, otherwise you will get a "404"-Page if you try to point your browser to a "*.php" file.
In order to do this you have to open the IIS-management console and open the "local computer".
Under "webextensions" you will find allready a list with different extensions all being blocked by default.
To get PHP to work you have to manually add a new webextension. I only have a german version of IIS in front of me so forgive me if i translate the buttons wrongly.
Click on "New webextension". Enter any name you like for your new extension. Click on "Add..." and then on "Search...". If you would like to add the DLL just browse to your PHP-directory and you will find the php5ts.dll. If you search for the php-cgi.exe you have to change the filetype at the bottom to "CGI-Exe-Files". Only after changing the filetype you can see the php-cgi.exe file and choose it for the extension.
If you check the checkbox at the bottom of the "New extension" Window it will allow the newly added extension to be executed. Certainly you can change the status any time you want by clicking on "Allow".
Only after that procedure you will be able to get in touch with PHP-files.
sincerely
Juergen Sommer
anonymous
20-Jul-2004 09:42
My PC is running Win2000/IIS5.0. Followed the instructions above but was receiving server 502 CGI timeout errors and tried all sorts of things to see what was going on: this included system PATH modifications, copying files, watching stack traces etc. No success.
However, I found a link that described what was happening and how to fix it:
Follow instructions as listed in docs except specify "C:\php\php.exe %s %S" without the quotes as the php interpreter. Case is important in the parameters, so get it right first time. Suddenly no more 502 errors as PHP is now passed some extra information from IIS that obviously points to the filename of the PHP script.
venimus at mail dot com
06-Jun-2004 09:57
Under IIS6 (and earlier)
After all the installation, do not forget to add "index.php" as default page, under the Documents tab in the Web Site's Properties.
1. Right-click Web Sites, choose Properties
2. Click Documents tab
3. Click Add...
4. Type index.php, click Ok
5. Choose "index.php" from the list and move it to the top using Move Up button.
6. Make sure "Enable default content page" is checked.
Ofcourse you can add other pages as default.
For those that do not know what is this for: If you do not provide full URL and you have several pages in the directory which are in this list, the server will return the topmost of them. In case you wish to open other page of them, you have to provide its full URL. Putting "index.php" on top will make sure no other pages will be returned as default.
jorrit at gameparty dot net
01-Jun-2004 06:33
Richardt at NL dot com
28-May-2004 10:44
Installing PHP4.3.xx on WIN xp pro sp2 iis 5.1
1. Like some others mentioned the key is to get PHP4TS.DLL in your xx/windows/system32 directory.
2. Do not add PHP as an isapi filter.
3. Do add an application extension of .php and associate to c:/php/sapi/php4isapi.dll
(you get there by: Open Internet information services from administrative tools, goto specific website you want to enable,
open properties, under home directory tab click on configuration)
4. You may need to check that your iusr_<servername> user has execute rights to the directory where your scripts are..
5. create a file with <?PHP phpinfo():?> as content and run it from your browser..
You're done.
tstirrat AT optusnet DOT com DT au
20-Apr-2004 10:14
I am running Active Directory & IIS6.0
I found that after looking through the tutorial below i was still unable to get into my site (authentication popup, 401.3 error). I set my permissions for read & execute for IUSR_(server) and IIS_WPG for both my document root and the php directory.. no luck.
However, here's how i solved the problem. (I believe this solution is relevant to fixing the active directory issue)
1. You want to give the IUSR_* and IIS_WPG read & execute permission to the PHP DIRECTORY ONLY. (I managed to remove the credentials from my document root and it still works.
2. Open IIS Manager and go to Application Pools, then to the pool which is relevant to your site (in my case DefaultAppPool).. on this item, right click and choose properties.
3. Now navigate to the identity tab.
4. My Worker process was set to Predefined: Network Service. I changed this to Configurable: IWAM_(server name) (which if you noticed is in the user group 'IIS_WPG')
Note: i also changed the passwords for my IUSR_* and IWAM_* accounts to be sure they werent set to something easy by default. Its probably a good idea to do this too.
Hope this solves someones frustration.
JDRAGGI AT BETTER BUILT DT COM
24-Mar-2004 12:49
IIS 6.0, PHP 4.3.4, Active Directory, Windows 2003 Premium
Followed this and many other manual installation guides for a manual install of PHP...
This made things super easy and was like reading a picture book for IIS6 and PHP installation:
http://s92192454.onlinehome.us./PHP_on_windows_under_IIS.html
You may want to use it to confirm your manual setup...
BUT continued to get 401.3 error...
Problem is that the 401.3 ACL error is because you must apply the IUSR_(server) access rights to the PHP directory and all the sub-directory structures (done in the advanced tab of your security settings), READ/LIST/EXC...
ACL 401.3 Problem solved... from other posts that I found, if you upgrade to Active Directory you will also loose all PHP access and this should solve that problem also. The upgrade to Active Directory problem is also known as prompting you for a username and password.
This is an option, if you choose to use the Interactive Windows Auth mode for your web site (that too can be disabled in the IIS 6.0 configuration for each web site), but will still result in the 401.3 unless you add the IIS_WPG rights to your PHP Dir.
Hope that helps,
John Draggi
michael dot gledhill at virgin dot net
08-Mar-2004 10:22
Just a quickie to say that Bejamin M.'s excellent description of setting up PHP with IIS works a treat.. but..
If you don't have a "Add a new Web service extension.." menu item in your Internet Information Services applet, then simply do the following:
- In Internet Information Services, right-click on "Default Web Site"
- select "Properties"
- click on the "Home Directory" tab
- click on the "Configuration" button
Yup, it's easy if you know how, but baffling if you can't find where to specify the .php extension and .dll filename !
Michael Gledhill
Bristol, UK
giunta dot gaetano at sea-aeroportimilano dot it
12-Feb-2004 07:32
If some extensions (such as OCI or Turck mmcache in FastCGI mode) have trouble functioning with PHP+IIS, make sure that "Allow IIS to Control Password" is unchecked in the preferences panel for anonymous user access.
For more detail on the issue, read articles 216828 and 218756 in the MS Knoweledge Base.
Aaron Blew
11-Feb-2004 02:24
Under IIS 6, don't forget that you have to add all the PHP modules you'd like to run to the PHP Web Service Extension part under the IIS management console.
Benjamin M.
08-Jan-2004 07:15
Hello everyone,
I put together this morning, a well laid out explanation on how to setup PHP on a Windows Server ( Enterprise Edition ) under IIS version 6.0.
I went trough all kinds of tutorial trying to install PHP.
I kept getting 404 errors.
But I now got it figured out. So I want to share with you, what I did.
Click on the link below to see the complete installation guide with image to also help you understand what you're doing.
http://s92192454.onlinehome.us./PHP_on_windows_under_IIS.html
Share your knowledge.
Benjamin M.
class007 at sina dot com
04-Dec-2003 01:52
>Somehow PHP on Win2003 with IIS6 worked for me only when I put the php4isapi.dll in c:\windows\system32 and used that instead of the c:\phpdir\sapi\php4isapi.dll
Actually it's the problem of NTFS permission. you can just change c:\phpdir\sapi\php4isapi.dll permission: Add Users group to it and allow it to "Read & Execute".
-- Xiaoyu
webmaster at riachao dot com
12-Aug-2003 08:49
In the installation with IIS 6.0, after you add the isapi extension, you need to allow the extension in the Web Services Extensions, or you 'll get a 404 error.
nbrookins at cbwstores dot com
10-Apr-2003 11:16
On Windows Server 2003 (formerly .net server) with IIS 6 (final RTM - build 3790)
I got PHP working by using one of the tips above (thanks!).
I noted however, that I did not need to 'allow unknown Isapi applications' , and I was able to keep the configuration at 'Scripts Only' instead of 'Scripts and Executables' - both settings are potentially more secure this way.
The only configuration that is different from how I normally configure PHP on IIS 5 is the addition of PHP as a Web Service Extension.
jdogg00 at msn dot com
03-Nov-2002 10:50
Here's a quick fyi, to get PHP installed on .Net Server w/ IIS 6 you have to use the IIS manager to enable support for different web service extentions. CGI ,ASP, ISAPI are all prohibited by default. In IIS manager click on the Web Service Extentions Folder there's options to add a new extention , prohibit all extentions etc. I chose add new extention ,in the dialog box I named it PHP , click add , in the next dialog browse to path of 'php4isapi.dll' hit ok then mark checkbox "Set extention status Allowed" hit ok and all is good. This was done after I followed the install.txt for IIS 4 or newer .
greg at wfrmls dot com
22-Jan-2001 11:12
When using WindowsNT 4.0 and IIS, the WWW home directory needs to have Read AND Execute access rights.
| |