Skip navigation.

PHP EasyWindows Installer

26 Nov 2006 Update

For installing PHP5 on Windows (IIS or Apache) with FastCGI, I would recommend using the free Zend Core for Oracle and Zend Core for DB2. The little known secret is that these 2 installers are perfect for MySQL as the mysql and mysqli extensions are included in the release. Because this installer package is so good, I am not releasing a PHP5 of the EasyWindows installer.


Download install-php4.exe (8.4 Mb)

Warning, there are reported bugs in 4.3.10's mssql extension.

4.3.10.2 30 Dec 2004  -- Fixes some Zend Optimizer compatibility problems.
4.3.10.1 22 Dec 2004  -- Updated to PHP 4.3.10, which fixes many security problems.

4.3.8.1  10 Aug 2004  -- Updated to PHP 4.3.8 and Turck MMCache 2.4.7-CVS.
4.3.3.3  11 Dec 2003  -- Updated to Turck MMCache 2.4.6.
4.3.3.1  20 Oct 2003  -- Changed version numbering to match PHP release.
                         Updated to PHP 4.3.3 and Turck MMCache 2.4.1
0.70     02 Jul 2003  -- Added SQLite support
0.62     28 Jun 2003  -- Supports index.php as default doc
0.61     26 Jun 2003  -- Updated to Turck MMCache 3.1.7 
0.60     23 Jun 2003  -- First Release with PHP 4.3.2

Why another installer?

This installer makes it easy to install PHP for the following web servers: IIS, Apache 1.3 and 2.0 for Windows 2000/XP/2003 and later. The installer is specifically tuned for high performance usage with IIS.

The installer has more features than the default PHP installer from php.net because it installs:

- PEAR and ADOdb libraries.

- FastCGI to improve PHP reliability. Only for IIS.

- Turck MMCache for accelerating PHP scripts.

- Session variable support and register_globals on.

If you are a beginner, I can recommend this excellent PHP tutorial by the Bath Computer Science Society. Also visit the PHP website to download the docs.

Warning: If you have an existing version of PHP installed, it is recommended that you uninstall PHP to avoid confusing the installer.

Testimonials

But to be honest I followed the directions posted on PHP.net and it still didn't work. It was really frustrating but I found a distribution of PHP 4.02 wrapped in a WISE installation package. Ran that and PHP worked right off. It even comes with a test script to make sure and a few links to get you started. - W Luke at SitePoint forums

First of all, this thing is really cool! I tried installing PHP before and had no luck, now I installed Apache2 and PHP4 on my win2000 system with no problems whatsoever! -- Timothy from webave.com

Testing PHP

Several PHP files are copied to the "phpadmin" directory in your web root, and you can test PHP by going to http://localhost/phpadmin/

Support and Help

I am too busy to respond personally to all your emails. Please try posting at the forums at

http://phplens.com/lens/lensforum/topics.php?id=6

Adding Support for Databases

By default, PHP is pre-configured only for MySQL, SQLite and ODBC. To enable other databases, you need to modify php.ini (typically in your windows directory), uncommenting the relevant extensions (php_oci8.dll for Oracle, php_mssql.dll for M'soft SQL Server).

You also need to install the client libraries for the dbms you are enabling.

To test SQLite and ADOdb (both pre-installed), try this script:

<?php
	include_once('adodb.inc.php');
	$conn = NewADOConnection('sqlite');
	$conn->Connect('c:\sqlite-test.db'); # you must have read/write access
	@$conn->Execute('drop table test');
	$conn->debug=1;
	$conn->Execute('create table test (a varchar, b varchar)');
	$conn->Execute("insert into test values('Apple', 'Beach')");
	$conn->Execute("insert into test values('Animal', 'Black')");
	$rs = $conn->Execute("select * from test");
	$arr = $rs->GetArray();
	print_r($arr);

?gt;

Production Web Server Setup

Currently (June 2003), after extensive testing, the best bet for a good balance between scalability and reliability for PHP on Windows is FastCGI on IIS. I do not find the Apache SAPI's to as reliable, though it may be adequete for your needs.

Also you should probably do the following.

  • Tune mmcache settings in php.ini, increasing the size of the cache from "16" Mb to a larger number. How to derive the correct figure? What i do is stress the test server. Then run mmcache.php, and observe how much shared mem is used, and add a safety factor of 25-50% more to the amount used. For my needs, i find "48" Mb sufficient.

  • For IIS: Tune the registry settings of FastCGI:

      KEY_LOCAL_MACHINE/SOFTWARE/FastCGI

    changing the minimum servers value from "2" to perhaps "5". Set the maximum servers to a larger value if you have multiple processors.

  • Hardware: you can squeeze by with 128 Mb as a test server, but for heavy loads, I would recommend 512 Mb+ of RAM in a production web server.

  • Security: you might want to set register_globals to OFF in php.ini, to prevent uninitialized variable attacks.

Disclaimer

Though this software installer has been tested on Win2000, WinXP and Win2003, this software is free and there are no warranties. Use at your own risk!

Thanks to Shane Caraveo and Dmitry Stogov for their work on FastCGI and Turck MMCache. Also thanks to all the PHP developers for their vision and hard work.

PHP, PEAR and installer released under PHP License 3.0. FastCGI released under Open Market free distribution license, with IIS port by Shane Caraveo under User-Beware License. Turck MMCache released under GPL. Source code for all the above are available from the above links.

tri: For Linux, you can get PHP RPMs from http://rpms.arvin.dk.

Useful Links

SourceForge Page
PHP.Net PHP Home Page
PHP Manual
PHP Tutorials from DevShed

Old Change Log

Version 0.6 23 June 2003
Released for 4.3.2.

Version 0.07 26 Dec 2000
Support for 4.0.4.

Version 0.05 13 Oct 2000
Support for 4.0.3. Added PEAR and ADODB to release.

Version 0.04 4 Sept 2000
An existing install of PHP could have a different extension directory than the default used by the installer. Installer now resets the extension dir and warns the user.

Version 0.03 2 Sept 2000
Initial release on 2nd Sept.