Install PHP on IIS 6 for Windows Server 2003

One of most popular development platforms on the web is PHP which powers many popular applications and sites such as Facebook, WordPress and Joomla. While most of these systems are 'designed' to be used on a Linux system running the Apache Web Server, you can deploy PHP applications via IIS 6 on your Windows Server 2003 system.

Configuring PHP

In order for Windows to run PHP code, the PHP binary files need to be copied to your system. No installation is required, however some configuration must be done in order for it to properly run. The first step is to download the PHP Windows Binaries and extract them (i.e. C:\PHP). For IIS 6, the non thread safe binaries should be used.

Download PHP from PHP official website.

Note:

Non-thread-safe build of PHP is recommended when using IIS. The non-thread-safe builds are available at » PHP for Windows: Binaries and Sources Releases.

If your're using Microsoft Windows Server 2003 x86/x64, download PHP 5.4.x version.

Install PHP on IIS 6 for Windows Server 2003

Copy the php.ini-production file from the extracted files paste it into the Windows directory. In the Windows directory, rename this file to 'php.ini'.

Install PHP on IIS 6 for Windows Server 2003

Open the php.ini file in Notepad and configure it as needed. Out of the box, the production configuration we copied is preconfigured for what the PHP Team feels is good for a production server. There are a few changes you will need to make to configure PHP for your IIS 6 system:

Uncomment and set the key, cgi.force_redirect = 0
Uncomment the key, fastcgi.impersonate = 1
Uncomment and set the key, extension_dir to the 'ext' folder in the path PHP was extracted to (i.e. C:\PHP\ext).
Set the key, date.timezone to the time zone of your server (the URL on the line above this key lists the accepted values).
At this point, your Windows system can run PHP scripts from the command line using the php.exe tool.

Installing the IIS 6 FastCGI Extension

In order for Internet Information Services (IIS) 6 to execute and serve PHP scripts, some additional configuration is required. In this guide, we will install PHP on IIS using the FastCGI interface which provides a good balance of stability and performance. Since FastCGI is not included with IIS 6 be default, we need to download and install it. To install needs .NET Framework 2.0 support, you can Download .NET Framework Offline Installers from Microsoft Server.

Install PHP on IIS 6 for Windows Server 2003

install-php-on-iis-6-for-windows-server-4

If Microsoft Web Platform Installer doesn't work normally, we can direct download FastCGI for IIS on buttom of The Official Microsoft IIS Site.

The FastCGI installer does not require any configuration, however once the FastCGI extension is installed we need to configure it to run PHP.

Open the file C:\WINDOWS\system32\inetsrv\fcgiext.ini in Notepad and find the Types section and enter the configuration information:

[Types]
php=PHP

[PHP]
ExePath=C:\PHP\php-cgi.exe
InstanceMaxRequests=5000
EnvironmentVars=PHP_MAX_REQUESTS:5000

Revise these values as needed according to your environment, but it is important that all of settings have the correct values. Once you are finished, save this file.

Install PHP on IIS 6 for Windows Server 2003

Configuring IIS to Run PHP via FastCGI

With both PHP and FastCGI installed and configured, all that is left is to set up IIS 6. When you open the IIS Management Console, under the Web Service Extensions make sure the FastCGI Handler is set to allowed.

Install PHP on IIS 6 for Windows Server 2003

Next, go to the Properties settings for the Web Sites group.

Install PHP on IIS 6 for Windows Server 2003

On the Home Directory tab, click the Configuration button.

Install PHP on IIS 6 for Windows Server 2003

Add a mapping for files with the .php file extension with the executable set to the FastCGI extension DLL.

Install PHP on IIS 6 for Windows Server 2003

Once you have applied all the changes, restart IIS.

iisreset \restart

Install PHP on IIS 6 for Windows Server 2003

Testing PHP

At this point, your server is ready to go, but just to be sure we can confirm your PHP setup through IIS pretty easily. Create a text file in the directory C:\Inetpub\wwwroot named phpinfo.php which simply contains the line:

<?php phpinfo(); ?>

Install PHP on IIS 6 for Windows Server 2003

Finally, browse to the address: http://localhost/phpinfo.php on your server and you should see the PHP information page. If the page loads successfully, PHP is now up and running on your machine.

Install PHP on IIS 6 for Windows Server 2003

Conclusion

Once you have PHP up and running on your Windows system, you can take advantage of the multitude of PHP based applications available as well as develop and deploy your own.

Download

PHP Windows Binaries (non thread safe)
IIS 6 FastCGI Extension

Reference PHP: Microsoft IIS 5.1 and IIS 6.0

5.00 avg. rating (98% score) - 1 vote