The following things are pre-assumed:
- You are running Windows Server 2003
- IIS 6.0
- You have installed PHP (http://www.php.net) to C:\PHP (installation issues are at the bottom of this page)
- 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
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 🙂
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 🙂