Here's a doozy of a problem that I'm still trying to sort out.
I've been given the task of compiling a web stack from source on Solaris 10. That's not terribly difficult, and my current running stack looks something like this:
- Apache HTTPD 2.2.21
- MySQL Community 5.5.15
- PHP 5.3.8
One requirement of many of the sites that will receive this stack is that they be able to do LDAP authentication in PHP. This is where it gets fun. When testing this with some existing code, I kept getting an Error 324 (EMPTY_RESPONSE) in my browser anytime I loaded a page with PHP LDAP functions in use. So I started digging. I began by writing a simpler script. The following has been edited slightly to keep the company's sensitive data private.
<?php
$conn = ldap_connect("ldaps://URL", 636) or die("Connect");
$binding = ldap_bind($conn, "USERDISTNAME", "PASSWORD") or die("Bind");
$result = ldap_search($conn, "BASEDN", "(uid=MYUID)") or die("Search");
$info = ldap_get_entries($conn, $result) or die("Get Entries");
print_r($info);
?>
Basically, it just grabs info about my user account from our LDAP server and prints it. If I browse to this page, I get a segmentation fault in Apache's error log:
[notice] caught SIGTERM, shutting down
That's all the detail I get on it. If I run the script in PHP on the command line, it completes successfully, and prints my user information.
I'm still looking around online, but the only thing even remotely related that I've found relates to PHP version 4.4.4. Has anyone out there encountered this?
Edit #1
The PHP patch won't work. It applies to source code that is far too old (version 4 as opposed to version 5), so it's a useless venture to attempt to patch the code. Additionally, I added a CoreDumpDirectory directive to httpd.conf and reproduced the problem. It produced no coredump output whatsoever.