php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #41153 Apache 2.2.4 API cannot load php5apache2_2.dll
Submitted: 2007-04-20 20:50 UTC Modified: 2007-04-24 13:01 UTC
From: phporcaffeine at gmail dot com Assigned:
Status: Not a bug Package: Apache2 related
PHP Version: 5.2.1 OS: WIN XP Pro
Private report: No CVE-ID: None
 [2007-04-20 20:50 UTC] phporcaffeine at gmail dot com
Description:
------------
Using Apache 2.2.4 In httpd.conf I use:

# Install PHP as a module
LoadModule php5_module "F:/Apache2/modules/php/php5apache2_2.dll"
AddType application/x-httpd-php .php .phps .phtml

PHPIniDir "F:/Apache2/modules/php"

and with PHP 5.2.1 Apache fails to fire and reports that 'php5apache2_2.dll' was not found when in fact it is in that location.

I roll PHP back to 5.2.0 and Apache fires normally without error.

I have the PHP & Apache folders both in my Env. path.

Expected result:
----------------
I expect Apache 2.2.4 to fire php5apache2_2.dll using PHP 5.2.1

Actual result:
--------------
Apache 2.2.4 will not fire php5apache2_2.dll from PHP 5.2.1 but it does fire from PHP 5.2.0

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-04-23 09:01 UTC] tony2001@php.net
Make sure you've removed ALL the dlls from the old PHP distribution, including php5ts.dll (people tend to put it in some weird places and forget to upgrade it after that).
 [2007-04-23 14:28 UTC] phporcaffeine at gmail dot com
I have verified that the script interpreter and ALL .dll have been updated (I only run one copy of the script interpreter in the php root for this type of reason specifically).
 [2007-04-23 14:33 UTC] tony2001@php.net
What's the exact error message?
 [2007-04-24 12:55 UTC] phporcaffeine at gmail dot com
Well I've figured this out.  While it wasn't the PHP distro's fault technically, the problem is vary precarious.

I use an openSSL binary package (available at: http://www.slproweb.com/products/Win32OpenSSL.html).

The current version of the openSSL bin package (0.9.8) puts its own copy of libeay32.dll & ssleay32.dll in a 'path' accessible folder (e.g. /system32/).  openSSL 0.9.8 is using .DLL version 0.9.8.5 and if that folder occurs in the PATH variable before your PHP folder (or wherever your PHP .DLL's are) then the environment will load the first copy of the .DLL's it encounters; in this case it was loading the .DLL's from the openSSL package before the PHP .DLL's; which do vary in version.

PHP 5.2.1 is using ssleay32.dll & libeay32.dll version 0.9.8.4 and the current openSSL package 0.9.8 uses ssleay32.dll & libeay32.dll version 0.9.8.5

The openSSL .dll's were stepping on the PHP .dll's, once I removed the openSLL .DLL's everything worked; except that I can't use openSSL now.

I don't know what the difference is between the two .DLL versions are but I do know it kills PHP LDAP ability and prevents PHP from loading into Apache as a module.
 [2007-04-24 13:01 UTC] tony2001@php.net
Not PHP problem -> bogus.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Fri Apr 19 17:01:30 2024 UTC