apache 2.4 + php 5.4.7 cannot load php5apache2_4.dll

I am trying to make Apache (httpd-2.4.3-win32) to work with PHP 5.4.7 (VC9 x86 Thread Safe) on Windows 7.

Apaches default page is working and proudly says: "It works". PHP CLI is working and reports version 5.4.7

I downloaded php5apache2_4.dll-php-5.4-win32.zip from apachelounge and extracted the dll for 5.4.7 it to ~/php/ext/

When I add

LoadModule php5_module "...../php/ext/php5apache2_4.dll" 
AddHandler application/x-httpd-php .php

the apache service refuses to start and Event Viewer says:

The Apache service named  reported the following error:
httpd.exe: Syntax error on line 526 of C:/.../bin/Apache24/conf/httpd.conf: Cannot load c:/.../bin/php/ext/php5apache2_4.dll into server: The specified procedure could not be found.

I used php thread safe version, both php and apache 32 bit.

What am I missing ? Any ideas how to fix this ?


Solution 1:

The correct version of php5apache2_4.dll should be in the root of your PHP folder. The latest thread-safe Windows 32-bit PHP binaries are Version 5.4.15, at http://windows.php.net/. You should not need to download php5apache2_4.dll from anywhere else, and I certainly wouldn't advise doing so.

So http.conf should contain:

LoadModule php5_module C:/php/ext/php5apache2_4.dll

The latest Apache 2.4 Win32 binaries from Apache Lounge are in httpd-2.4.4-win32.zip.

Finally, try changing your line: "AddHandler application/x-httpd-php .php" to:

AddType application/x-httpd-php .php

By the way, if you want to run Apache 2.4 64-bit, you need to use the 64-bit PHP available only from Anindya's Blog.

Without seeing the rest of your configuration, I can't think of anything else, other than a path set wrong somewhere, but there are various useful tutorials around (see, for instance: Apache, PHP, and MySQL Setup on Windows).

I've just done a complete webserver installation tonight, and the complete Apache/PHP installation using the above sources took about an hour (including mistakes!).