Setting up PHP to work on Windows Server 2003
he 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 -)