You are on page 1of 10

Setting up PHP-ISAPI on Windows Server 2003

Preface:

I showed you here how to set up PHP using the CGI executable. Since then I've learnt
that the ISAPI DLL may be faster and more secure, so this tutorial will show you how to
set up the ISAPI DLL instead. Credit and thanks goes to Keith W. McCammon for
setting this up on his website, http://mccammon.org/php/iis6_install.php . Made visual
with permission from Keith. Something to note is that these directions had in mind
default (unmodified) ACLs/Permissions.

Method:

Unzip the latest PHP ZIP file to C:\PHP, and copy php.ini-recommended from that folder
to C:\windows\php.ini, then copy php4ts.dll to C:\Windows\System32

Load IIS from the Administrative tools in the Control Panel by clicking Start ->
Administrative Tools -> IIS Manager (or loading the Control Panel, entering the
Administrative Tools folder, and double clicking IIS Manager).
Click the name of your computer then click "Web Service Extensions", on the left side of
the main frame you will see a green arrow pointing to a link that says "Add a new Web
service extension...", click that link.
Set the extension name to anything you'd like, put C:\PHP\sapi\php4isapi.dll as the
Required file, also check "Set status to allowed"
Go to the directory you'd like to configure PHP for in the IIS Manager, right click it, and
select properties

Click the Create button, set the Execute permissions to "Scripts only", then click the
Configuration button
Click Add. For the Executable put - C:\PHP\sapi\php4isapi.dll for the Extension put
".php", set the verbs to all, and make sure the bottom check boxes are checked

Click OK and OK

Copyright ©2002-2004 Jonathan Maltz. For trademark/copyright information, click here. About
me. Main page. Contact me.
Setting up PHP to work on Windows Server 2003
The following things are pre-assumed:

1. You are running Windows Server 2003


2. IIS 6.0
3. You have installed PHP (http://www.php.net) to C:\PHP (installation issues are at
the bottom of this page)
4. You are using default (unmodified) ACLs/Permissions

Update: Tom McDermid has brought to my attention that in the PHP 5 line, the EXE
name is "php-cgi.exe" instead of "php.exe", so when installing PHP 5, remember to
replace "php.exe" in this tutorial with "php-cgi.exe"

Load IIS from the Administrative tools in the Control Panel by clicking Start ->
Administrative Tools -> IIS Manager (or loading the Control Panel, entering the
Administrative Tools folder, and double clicking IIS Manager).

Click the name of your computer then click "Web Service Extensions", on the left side of
the main frame you will see a green arrow pointing to a link that says "Add a new Web
service extension...", click that link.
For the Extension name put something like "PHP" in and for the Required Files put
"C:\PHP\php.exe", also check to set it to allowed
Now load a command prompt (Start->Run... type cmd) and type "md
c:\inetpub\wwwroot\phpscript"

Back in the IIS Manager double-click "Web Sites", click "Default Web Site", right-click
the directory "phpscript" and click properties
In the new dialog click Create then Configuration (Configuration will only become
enabled after you click Create). If you don't see .php listed then add it by clicking Add...
and setting the following
Click OK and OK and you should be set to run your PHP scripts

Installation issues

Q: I tried installing PHP and got some error about there not being an OCX or something,
either way, now I can't execute my scripts :-(

A: The error you received was stating that an OCX control (ActiveX) that the PHP
installer uses wasn't found, don't worry, that's the reason I wrote this tutorial :-)

My reasoning

Q: Why do you use the Command prompt to make directories when you can just load
Explorer and make it that way?

A: It's much simpler to do in Command, that's why I do it. Also, it makes you look
smarter, which is a good thing in general, especially when you're working on a Server :-)

You might also like