ID: 45886 Updated by: [EMAIL PROTECTED] Reported By: rocko823 at gmail dot com -Status: Open +Status: Feedback Bug Type: LDAP related Operating System: Solaris 10 SPARC PHP Version: 5.2.6 New Comment:
Because some oracle libs contain their own implementation of ldap functions and conflict with openldap ones. And IIRC, Solaris also has it's own ldap stuff (sometimes) so in worst case you have 3 different set of libs around and the mess is ready. You could try compiling PHP ldap using the oracle libs: --with-ldap=/local/instantclient_10_2/ I'm not sure if this instantclient thing has the ldap stuff, but I guess it's worth trying.. Previous Comments: ------------------------------------------------------------------------ [2008-08-22 16:23:42] rocko823 at gmail dot com Both apache and PHP are linked against a compiled version of openssl 0.9.8h Unfortunately I cannot disable OCI8 as the projects on this server require Oracle database access. I have attempted to recreate this problem on a test Intel machine running Solaris 10 but the problem does not occur. If I can get my hands on a test Sparc Solaris 10 Box I can try disabling OCI8 to see if that has any effect. However I really need both modules running. Why would OCI8 have any effect on the LDAP module? ------------------------------------------------------------------------ [2008-08-21 20:53:54] [EMAIL PROTECTED] Try disabling oci8. And check also that Apache is linked with same Openssl libs as you're linking PHP with. ------------------------------------------------------------------------ [2008-08-21 20:14:11] rocko823 at gmail dot com Description: ------------ PHP 5.2.6 with Apache 2.2.9 with this configure: './configure' '--with-apxs2=/web/apache/bin/apxs' '--with-mysql=/local/mysql32' '--with-gd' '--with-jpeg-dir=/usr/local/' '--with-zlib' '--with-oci8=instantclient,/local/instantclient_10_2' '--with-mcrypt' '--with-ldap' '--with-ldap-sasl' '--with-openssl=/usr/local/ssl' with openldap 2.3.39 When ldap_connect then ldap_bind is run it fails with ldap error "Out of memory" only when run under Apache 2 module, with the command line client it runs correctly. Reproduce code: --------------- ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7); $ds=ldap_connect("ldap://server"); if ($ds) { [EMAIL PROTECTED]($ds, "user", "password"); if ($r) { echo "success"; } else { echo "fail:" . ldap_error($ds); } } Expected result: ---------------- PHP connects and binds to the LDAP server and returns success Actual result: -------------- PHP returns ldap error "Out of memory". PHP doesn't even try to connect to the LDAP server. In the apache error logs I see these ldap debugging messages: ldap_create ldap_url_parse_ext(ldap://server) ldap_bind_s ldap_simple_bind_s ldap_sasl_bind_s ldap_sasl_bind and it stops there where when run with the command line and a success there are many more lines ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=45886&edit=1