Install PHP on Server 2008 R2

By | November 7, 2009

In most cases, installing PHP on a Windows Server is a pretty routine task. Server 2008 R2 offers a new issue which wasn’t present in previous versions of Windows Server. As you may know, Server 2008 R2 is 64 bit ONLY. There is no 32 bit version. On top of this, IIS7’s interface is entirely different than IIS6, making this a much un-routine like task. Well I started building up a new web server and needed to install PHP and encountered this exact scenario. Here’s my help for everyone else encountering this same task.

First, one thing should be noted. There are several different ports for a 64 bit PHP installation, none of which are official releases and can be somewhat unstable. I will explain to you how to run 32 bit php dll’s on Windows Server 2008 R2 x64

This article will explain how to install PHP using the bare minimum settings. Additional settings, modules, clicks may be necessary to get your installation working.

Install the Web Server 

Open Server Manager –> Roles -> Choose Add Roles –> Select “Web Server (IIS)”

On the Select Role Services screen, the only additional thing we need  is ISAPI Extensions


Click next through to the end and let it finish the install. Your server may ask you to restart. If it does, do it. If not, proceed the the next step


Open your web browser and go to

Download the latest Windows Binaries zip package.

Once downloaded, open the zip file and extract the contents to C:\PHP


Installing PHP

Open IIS 7 Server Manager –> Double click on “Handler Mapping” -> Select “Add Script Map…”

For Request path enter: *.php

For Executable enter: C:\php\php5isapi.dll

For Name enter: PHP

Your window should now look like this:


Click OK

A dialog like this will show up:


Click Yes


Go back to the main IIS Manager screen

Click on ISAPI and CGI restrictions –> Click “Edit Feature Settings…” –> Select “Allow unspecified ISAPI modules”


Click OK


Configure Application Pool

Next we need to create an Application Pool for your PHP Application

On the main IIS Manager screen, click Application Pools –> “Add Application Pool…”

Give your Application Pool a meaningful name

Under .NET framework version select “No Managed Code”

You can leave the rest default.


Click OK


Right click on your new Application Pool and select “Advanced Settings…”

Set “Enable 32-Bit Applications” to True


Click OK

I found that I had to restart my server after this portion, this may or may not be necessary for you.


Assign Application Pool to your Web Site

Right click on your web site and select Manage Website –> Advanced Settings.

Under Application Pool, select your newly created application pool


Click OK


Test your PHP installation

Create a file called phpinfo.php in the root of your application with the following text



If everything turns out, you should get your standard phpinfo output.

Now erase that file because it contains far to much information which you don’t want to leave out there.

What’s next? Install your php application. This could be something you brewed up or may be a package like wordpress or joomla .

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.