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:  I find it quicker to do by command line, but any method will work.

<-- Go back to the main tutorial page

Copyright 2002-2014 Jonathan Maltz.  For trademark/copyright information, click hereAbout meMain pageContact me.