PHP v5.1 and v4.4 apache2handlers for Apache 2.2

DeveloperSide.NET Articles

The included 'apache2handler' dlls that ship with PHP v5.1 and PHP v4.4 -- 'php4apache2.dll' and 'php5apache2.dll' -- will not work with Apache 2.2.

The Apache2 'handlers' provided with the above versions of PHP have been compiled and linked against Apache 2.0 libs (libapr.lib, libaprutil.lib, libhttpd.lib) and header files (...\include) -- utilizing the Apache 2.0 API, which has changed under Apache 2.2.

Apache HTTP Server 2.2 Announcement...

"This release has been through extensive testing, including live at some of the world's busiest sites, and is now considered stable. This means that modules and applications developed for Apache 2.2.x will be both source- and binary-compatible with future 2.2.x releases. This release builds on and extends the Apache 2.0 API. Modules written for Apache 2.0 will need to be recompiled in order to run with Apache 2.2, but no substantial reworking should be necessary."

The error messages displayed when a user starts Apache 2.2 with an 'apache2handler' built for Apache 2.0 are...

For PHP5:

"httpd.exe: Syntax error on line # of .../conf/httpd.conf: Cannot load .../php/php5apache2.dll into server: The specified module could not be found."

For PHP4:

"httpd.exe: Syntax error on line # of .../conf/httpd.conf: Cannot load .../php/php4apache2.dll into server: The specified module could not be found."

An Apache 2.2 'handler' for PHP will not be provided until the release of PHP 5.2. Nor will new Apache 2.2 'handlers' make it into PHP versions 5.1 or 4.4.

You can download the following 'apache2handlers' that have been compiled [under the same compiler (VC++ 6.0) that official win32 php.net binaries are built with] and linked against Apache 2.2 libs and header files.

PHP 5.1 -- 'php5apache2_2.dll'
PHP 4.4 -- 'php4apache2_2.dll'
DeveloperSide.NET Downloads

Other options [for PHP v5]...

PHP configurations...

For PHP v5 using the php5apache2_2.dll apache2handler...

LoadFile "/www/php5/php5ts.dll"
LoadModule php5_module /www/php5/php5apache2_2.dll

<IfModule php5_module>

	<Location />
		AddType text/html .php .phps
		AddHandler application/x-httpd-php .php
		AddHandler application/x-httpd-php-source .phps
	</Location>

</IfModule>

For PHP v4 using the php4apache2_2.dll apache2handler...

LoadFile "/www/php4/php4ts.dll"
LoadModule php4_module /www/php4/php4apache2_2.dll

<IfModule php4_module>

	<Location />
		AddType text/html .php .phps
		AddHandler application/x-httpd-php .php
		AddHandler application/x-httpd-php-source .phps
	</Location>

</IfModule>