Apache 2.2.15 & PHP 5.3.2 no-go, Windows XP

On a localhost development configuration under Windows XP Pro (SP3), I cannot get Apache2.2.15 http service to start after I enable PHP 5.3.2 as a module. Without PHP, Apache starts and works just fine; PHP itself works (from a command prompt).

I had had Apache 2.2.14 and an older PHP 5.2.x working happily together, supporting MySQL, phpMyAdmin, etc. I uninstalled all that and instead:

(1) Installed Apache 2.2.15 from httpd-2.2.15-win32-x86-no_ssl.msi (also tried the openssl version when the former + PHP didn’t work). It’s installed as a service for all users on port 80. And I’m running as Administrator. That worked just fine.

(2) Installed PHP 5.3.2 from php-5.3.2-Win32-VC6-x86.msi (thread safe version). As php.net says, with apache.org binaries, I used the VC6 version, not VC9.

Now the apache http service will not start. So of course I never got so far as to try a .php script in the browser.

When that failed, I uninstalled PHP and instead tried to use php-5.3.2-Win32-VC6-x86.zip and configure manually, starting with php.ini-development copied to php.ini and edited as below.

Of course I put the correct entries in Windows system environment variables PATH (starts with D:\Server\PHP\ext;D:\Server\PHP) and PHPRC (D:\Server\PHP).

File httpd.conf is what the Apache installer set up plus my edits in appropriate spots:

ServerName localhost:80
DocumentRoot "E:/htdocs"
<Directory "E:/htdocs">
LoadModule php5_module "D:/Server/PHP/php5apache2_2.dll"
PHPIniDir "D:/Server/PHP"
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

My edits to php.ini are:

PHPIniDir "D:/Server/PHP/"
LoadModule php5_module "D:/Server/PHP/php5apache2_2.dll"

I’m completely mystified as to what’s wrong, but I’m beginning to believe there’s a fundamental incompatibility between Apache 2.2.15 and PHP 5.3.2. Any ideas?

Whenever possible, I never install to C:\Program Files. Why keep everything in one huge heap, anyway, especially when that heap starts at a directory with a space in its name?

Much better to modularize the organization: a separate (logical) drive entirely for programs, and yet another for data and documents. It makes back-up easier to do.

This usually happens when you install Apache, MySQL into “Program Files” and work everything out from Apache’s directory. In Windows Vista and 7 “Program Files” is locked down for only those systems running with full god power. What you want to do is not run Apache, MySQL, or PHP from “Program Files” nor have your documents there.

The following seems to have resolved the issue: Thanks to a suggestion at Experts Exchange, I found additional copies of php_*.dll files in a separate Marvell MRU subdirectory of C:\Program files (from a monitor of Marvell RAID controller) which uses an embedded apache server. I uninstalled the Marvell MRU program. Now I can start Apache 2.2.15 service with apache loaded, as usual, as a PHP module with PHP 5.3.2. Even after removing my whole PHP tree obtained from the .zip and instead using the VC6 x86 Thread Safe.msi installer.

Sorry for my typo. Those lines are in httpd.conf, of course.

You say there’s no incompatibility between Apache 2.2.15 and PHP 5.3.2. Does this mean you actually have the apache.org 2.2.15 binaries installed (not from some other source!) along with PHP 5.3.2 VC6 thread-safe, under Windows XP, and with PHP loaded as an apache module – and that you can start the apache service?

I remember having problems trying to get this all (Apache, MySQL, PHP) going on Windows 7 Ultimate. In the end I just accepted defeat and used WAMP. :frowning:

In the OPs post he said he put the above in php.ini. If he did he should remove it. That was my meaning…

In php.ini? That looks more like something in httpd.conf. :confused:

Perhaps I should learn to read first. :blush:

:lol:

Did you put the below code into php.ini? If so, remove that.


PHPIniDir "D:/Server/PHP/"
LoadModule php5_module "D:/Server/PHP/php5apache2_2.dll"

There is also no incompatibility between Apache 2.2.15 and PHP 5.3.2

Thanks for the suggestion, but that’s a circuitous work-around and not a direct solution.

Moreover, xampp does not always have the current versions of the individual components. In particular, it does not include either the current Apache httpd server or the current PHP.

And in the past I’ve never had any trouble such as at present to get apache and PHP to cooperate.

In general, I prefer the greater modularity of individual programs.

Seriously, it’s just so much easier.

Yes, in System:

The Apache2.2 service terminated 
with service-specific error 1 (0x 1).

And in Application:

Fault bucket 1945192318

immediately after:

Faulting application httpd.exe, version 2.2.15.0, 
faulting module unknown, version 0.0.0.0, 
fault address 0x0074f1a9.

Check your Windows Event Log, it should show why Aapche’s having trouble starting.
Start > Control Panel > Administrative Tools > Event Viewer

Does it show any messages concerning Apache in the Application or System views?