This was a tricky one but I think I have made some progress on it and found a workaround that allows this extension to load.
When I uncomment
- Code: Select all
extension=php_ldap.dll
from "xampp/php/php.ini", I also recieve a PHP warning when starting Apache.
For context, I am using Windows 7 SP1 x64 and XAMPP 1.7.7
I believe it is a known issue from what I have been reading that Apache stops responding and crashes on Windows 7 (not sure if 64-bit only) if PHP encounters a warning/error on startup.
The Apache error log does not have any errors/warnings in it after this crash.
I did look in the Windows Event Log and this is the entry
- Code: Select all
Faulting application name: httpd.exe, version: 2.2.21.0, time stamp: 0x4e6b3136
Faulting module name: php5ts.dll, version: 5.3.8.0, time stamp: 0x4e537a04
Exception code: 0xc0000005
Fault offset: 0x000f8a80
Faulting process id: 0x3cbc
Faulting application start time: 0x01cc7e23d078ddb7
Faulting application path: c:\xampp\apache\bin\httpd.exe
Faulting module path: C:\xampp\php\php5ts.dll
Report Id: 21d281ab-ea18-11e0-a221-005056c00008
The message I recieve when starting Apache after uncommenting the above is
- Code: Select all
Warning PHP Startup: Unable to load dynamic library '\xampp\php\ext\php_ldap.dll' - %1 is not a valid Win32 application
I looked up the requirements for this extension and this is what the PHP manual (
http://www.php.net/manual/en/install.wi ... nsions.php) states
- Code: Select all
php_ldap.dll LDAP functions PHP <= 4.2.0 requires libsasl.dll (bundled), PHP >= 4.3.0 requires libeay32.dll, ssleay32.dll (bundled)
I checked and both of these files exist in the "xampp/php" directory. These file also exist in the "xampp/apache/bin" directory but are a different size (different versions?).
This error from what I have read implies that 64-bit and 32-bit components are not playing nicely together.
After a very long list of things I tried, I finally found something that made it work. I added "C:\xampp\php" to the beginning of my PATH environment variable (Note: After modifying the PATH variable, you want to either stop Apache and close/reopen the Control Panel or reboot your computer). After doing this, I was able to start Apache with that extension enabled and it appears on the phpinfo() page. I suspect that it is not finding the required libraries for whatever reason in the root PHP folder. I hope this is enough information to get the underlying issue fixed.