php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #53830 php5apache2_2.dll crashes Apache 2
Submitted: 2011-01-24 17:36 UTC Modified: 2011-01-24 20:28 UTC
From: kjmiller at millikin dot edu Assigned:
Status: Not a bug Package: Apache2 related
PHP Version: 5.3.5 OS: Win XP Pro SP3 (2600)
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: kjmiller at millikin dot edu
New email:
PHP Version: OS:

 

 [2011-01-24 17:36 UTC] kjmiller at millikin dot edu
Description:
------------
Description:

Apache crashes when loading the php5apache2_2.dll module.

**** NOTE ****

Other bugs are similar, but use Apache 2.2.9, XP SP2, multiple versions of PHP on same machine, etc...



PHP version: 5.3.5
Apache Version: 2.2.17

I should note that the properties on my php.exe and php-win.exe files claim it to be version 5.2.17.17. 

Installer files:
PHP: php-5.3.5-win32-VC6-x86
Apache: httpd-2.2.17-win32-x86-openssl-0.9.8o


Other information:

Installed PHP on my XP x86 laptop over the network using the exact same files I used to install it on my desktop (running 7 Ultimate x64). Works fine on Windows 7.


Test script:
---------------
Reproducing code:

Not applicable; Apache crashes before any code is run.


Adding:

#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
LoadModule php5_module "php5apache2_2.dll"
PHPIniDir "C:/Program Files/PHP"
#END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL

To httpd.conf blows up Apache (and yes, the php5apache2_2.dll file is in the Apache module folder).


Expected result:
----------------
Expected result:

Apache works with PHP5.

Actual result:
--------------
Actual result:

Apache goes tits up:


Apache error file:

[Mon Jan 24 09:29:01 2011] [notice] Parent: Received restart signal -- Restarting the server.
[Mon Jan 24 09:29:01 2011] [notice] Child 1552: Exit event signaled. Child process is ending.
[Mon Jan 24 09:29:01 2011] [notice] Apache/2.2.17 (Win32) configured -- resuming normal operations
[Mon Jan 24 09:29:01 2011] [notice] Server built: Oct 18 2010 01:58:12
[Mon Jan 24 09:29:01 2011] [notice] Parent: Created child process 3104
[Mon Jan 24 09:29:02 2011] [notice] Child 1552: Released the start mutex
[Mon Jan 24 09:29:03 2011] [notice] Child 1552: All worker threads have exited.
[Mon Jan 24 09:29:03 2011] [notice] Child 1552: Child process is exiting
[Mon Jan 24 09:29:09 2011] [crit] (OS 6)The handle is invalid.  : master_main: create child process failed. Exiting.
[Mon Jan 24 09:29:09 2011] [notice] Parent: Forcing termination of child process 36 


Windows event viewer:

Faulting application httpd.exe, version 2.2.17.0, faulting module php5ts.dll, version 5.3.5.0, fault address 0x0008582b.


**** NOTE ****

Sometimes, the faulting module is unknown, sometimes it is php5ts.dll. As far as I can tell, this is related to whether or not the phpinidir line is active in the httpd.conf file.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2011-01-24 18:06 UTC] kjmiller at millikin dot edu
Problem resolved.

PHP 5.3.5 cannot be installed with the default features. The Curl, OpenSSL, and postgreSQL extensions must be disabled.

Many thanks to this guide: http://www.websiteadministrator.com.au/articles/install_guides/installing_php535_pg2.html

I hope there can be some documentation about the different install procedures for XP and 7...
 [2011-01-24 20:20 UTC] pajoye@php.net
-Status: Open +Status: Bogus
 [2011-01-24 20:20 UTC] pajoye@php.net
Yes, in the PHP Manual.

There is no bug, simply be sure to hav the required DLLs in place as documented.
 [2011-01-24 20:28 UTC] kjmiller at millikin dot edu
Well, no... that's not the root of the problem.

The DLL's were all in the proper place - the problem is that the default installer settings do not do what they are supposed to. Notwithstanding the fact that the installer really should move the DLL's to the module folder all on it's own, it doesn't work even when the DLL files are where they are supposed to be.

The root of the problem is that the default settings enable dependencies without informing the user that they are doing so, or which other DLL's need to be copied where.

It's just very surprising that the default settings do not work with one of (if not #1) the most widely distributed OS's in history. I'd call that a bug.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Dec 26 11:01:30 2024 UTC