ID: 19434 Updated by: [EMAIL PROTECTED] Reported By: ronan dot salmon at staff dot ittralee dot ie -Status: Open +Status: Feedback Bug Type: OCI8 related Operating System: redhat 7.3 PHP Version: 4.3.3RC4-dev New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip Previous Comments: ------------------------------------------------------------------------ [2003-07-17 03:40:47] ronan dot salmon at staff dot ittralee dot ie Sorry, I don't know what I've done yesterday but in fact LDAP doesn't work alone anymore. Here the script : <?php include('config.php'); $connLDAP = ldap_connect('10.10.1.19'); if (!$connLDAP) { echo 'Failed to connect to 10.10.1.19'; exit; } // Lookup user @ldap_bind($connLDAP); $ldapsearch = ldap_search($connLDAP, 'ou=people,ou=staff,dc=ittralee,dc=ie', "uid=$strLogin"); $arrInfo = ldap_get_entries($connLDAP, $ldapsearch); $boolLogin = @ldap_bind($connLDAP, $strDN, $strPasswd); if (!$boolLogin) { echo "<BR>Wrong username or password!<P>\n"; exit; } ?> I'm using the same php as yesterday. [~/php]# gdb ./php4-STABLE-200307160330/sapi/cgi/php login.php (gdb) run login.php Starting program: /root/php/php4-STABLE-200307160330/sapi/cgi/php login.php [New Thread 16384 (LWP 23469)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 16384 (LWP 23469)] 0x40a71a34 in _int_free () from /lib/libc.so.6 (gdb) bt #0 0x40a71a34 in _int_free () from /lib/libc.so.6 #1 0x40a709cc in free () from /lib/libc.so.6 #2 0x08065d81 in zif_ldap_get_entries (ht=2, return_value=0x8208040, this_ptr=0x0, return_value_used=1, tsrm_ls=0x40d76440) at /root/php/php4-STABLE-200307160330/ext/ldap/ldap.c:953 #3 0x0813ce45 in execute (op_array=0x8203028, tsrm_ls=0x81876b0) at /root/php/php4-STABLE-200307160330/Zend/zend_execute.c:1616 #4 0x0812f7f1 in zend_execute_scripts (type=8, tsrm_ls=0x81876b0, retval=0x0, file_count=3) at /root/php/php4-STABLE-200307160330/Zend/zend.c:886 #5 0x08106305 in php_execute_script (primary_file=0xbffff980, tsrm_ls=0x81876b0) at /root/php/php4-STABLE-200307160330/main/main.c:1685 #6 0x08142609 in main (argc=2, argv=0xbffffa14) at /root/php/php4-STABLE-200307160330/sapi/cgi/cgi_main.c:1542 #7 0x40a195cd in __libc_start_main () from /lib/libc.so.6 ------------------------------------------------------------------------ [2003-07-16 14:31:31] [EMAIL PROTECTED] Can you try and reduce your script to smallest possible that causes the crash? (like with only the ldap stuff?) ------------------------------------------------------------------------ [2002-09-26 20:22:44] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php4-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-latest.zip Reduce your configure options to bare minimum, only use --with-apxs, --with-oci8 and --with-ldap and don't compile them as shared! Do this using the latest snapshot above. ------------------------------------------------------------------------ [2002-09-16 07:13:50] [EMAIL PROTECTED] Oracle has it's own ldap stuff. You can't compile both openldap and oracle together. But you don't need to: --with-ldap=/home/oracle/Oracle-9.0.1 works too. ------------------------------------------------------------------------ [2002-09-16 06:49:24] ronan dot salmon at staff dot ittralee dot ie php-4.2.3 apache-1.3.23-14 redhat 7.3 kernel 2.4.18-10 i686 oracle 9.0.1 openldap 2.0.23 Configure command : './configure' 'i386-redhat-linux' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--prefix=/usr' '--with-config-file-path=/etc' '--enable-force-cgi-redirect' '--disable-debug' '--enable-pic' '--disable-rpath' '--enable-inline-optimization' '--with-bz2' '--with-db3' '--with-curl' '--with-dom=/usr' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--with-gd' '--enable-gd-native-ttf' '--with-ttf' '--with-gdbm' '--with-gettext' '--with-ncurses' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-regex=system' '--with-xml' '--with-expat-dir=/usr' '--with-zlib' '--with-layout=GNU' '--enable-bcmath' '--enable-debugger' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-safe-mode' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-discard-path' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--without-oci8' '--with-imap=shared' '--with-imap-ssl' '--with-kerberos=/usr/kerberos' '--with-ldap=shared' '--with-mysql=shared,/usr' '--with-oci8=shared,/home/oracle/Oracle-9.0.1' '--enable-sigchild' '--with-pgsql=shared' '--with-snmp=shared,/usr' '--with-snmp=shared' '--enable-ucd-snmp-hack' '--with-unixODBC=shared' '--enable-memory-limit' '--enable-bcmath' '--enable-shmop' '--enable-versioning' '--enable-calendar' '--enable-dbx' '--enable-dio' '--enable-mcal' '--enable-mbstring' '--enable-mbstr-enc-trans' '--with-apxs=/usr/sbin/apxs' If I use ldap functions only, everything is fine. If I use oci8 functions only, everything is fine. If in the same script I use oci8 and ldap functions, apache crashes : [Mon Sep 16 12:44:39 2002] [notice] child pid 31257 exit signal Segmentation fault (11) here the script : <? include("../config/oci8.php"); include("../config/settings.php"); $strLogin = "test"; $strPasswd = "test"; $connLDAP = ldap_connect(DEFAULT_LDAP_HOSTNAME); if (!$connLDAP) { echo "Failed to connect to " . DEFAULT_LDAP_HOSTNAME; exit; } if (!$strPasswd) { // generate a bogus password to pass if the user doesn't give us one // this gets around systems that are anonymous search enabled $strPasswd = crypt(microtime()); } // Lookup user @ldap_bind($connLDAP); $arrInfo = ldap_get_entries($connLDAP, ldap_search($connLDAP, DEFAULT_STAFF_EMAIL_PEOPLE, "uid=$strLogin")); $strDN = $arrInfo[0]["dn"]; $boolLogin = @ldap_bind($connLDAP, $strDN, $strPasswd); if (!$boolLogin) { echo "<BR>Wrong username or password!<P>\n"; exit; } // Logged in successfully $DB = ocilogon($strUser, $strPassword, $strDB); if (! $DB) { $err = OCIError(); echo "Can not connect to $strDB : $err<B>\n"; die(); } $strSQL = "SELECT * FROM Account_Users WHERE ID = '$strLogin'"; $stmt = ociparse($DB, $strSQL); ociexecute($stmt, OCI_DEFAULT); if (ocifetch($stmt)) { echo "Success"; } else { echo "Failed"; } ocilogoff($DB); ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=19434&edit=1
