|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2001-07-25 13:24 UTC] Mike at ftl dot com
When doing LDAP calls from within a function, it always returns
'Warning: 1 is not a LDAP link index in blah.php on line 12'
If I take the same code and put it in a .php file by itself it works great.
<?
$ds=ldap_connect("blah.com") || die('Connection Failed');
if ($ds) {
$dn = "ou=people, o=blah.com";
$r=ldap_bind($ds);
$justthese = array( "ou", "sn", "givenname", "mail", "telephonenumber", "mobile", "title");
$filter = "sn=*";
$sr=ldap_search($ds, $dn, $filter, $justthese);
$info = ldap_get_entries($ds, $sr);
for ($i=0; $i<$info["count"]; $i++) {
echo "dn is: ". $info[$i]["dn"] ."<br>";
echo "first name is: ". $info[$i]["givenname"][0] ."<br>";
echo "lastname is: ". $info[$i]["sn"][0] ."<br>";
echo "title is : ". $info[$i]["title"][0] ."<br>";
echo "email is : ". $info[$i]["mail"][0] ."<br>";
echo "telephone is : ". $info[$i]["telephonenumber"][0] ."<p>";
}
ldap_close($ds);
}
?>
I don't get the error at the ldap_connect line so it makes the connection. But when it gets to the ldap_bind it bombs out.
Here is my config line....
./configure --with-apache=../apache_1.3.20 --with-gd --with-pdflib=/usr/local --disable-debug --with-mnogosearch=/usr
/local/mnogosearch --with-mysql=/usr --with-zlib --enable-inline-optimization --with-gnu-ld --enable-memory-limit --enab
le-track-vars --with-jpeg-dir=/usr --with-tiff-dir=/usr --with-ttf=/usr --with-system-regex=yes --with-png-dir=/usr/lib
--enable-trans-sid --enable-gd-imgstrttf --with-ldap=/usr/local/ldap
Any help would be great.
- Mike
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 11:00:01 2025 UTC |
Ok....Like I said, it seems that it only bombs when you are doing mysql calls in the same script. Take the code below, or your own simple ldap search and add this to your script. - Snip - $connect = mysql_connect("db-server","user","password"); mysql_close($connect); - Snip - Ya I know it's not doing anything but opening and closing the connection. If ya want, add a little query in there. It still acts the same. I have tried this with openldap and ldapcsdk50 and both give the same results. Running MySQL-3.23.40(Tried with 3.23.37 as well). Let me know what other info you may need. Thanks, -MikeOk....Like I said, it seems that it only bombs when you are doing mysql calls in the same script. Take the code below, or your own simple ldap search and add this to your script. - Snip - $connect = mysql_connect("db-server","user","password"); mysql_close($connect); - Snip - Ya I know it's not doing anything but opening and closing the connection. If ya want, add a little query in there. It still acts the same. I have tried this with openldap and ldapcsdk50 and both give the same results. Running MySQL-3.23.40(Tried with 3.23.37 as well). Let me know what other info you may need. Thanks, -MikeOk this is too weird....Maybe you developers can make sense of this... My ldap connect line looked like this... $ds = ldap_connect("ldap.blah.com") || die{'failed connect'); If I drop the "|| die('failed connect')" , the scripts work great.Sorry my bad.... it is not a parse error....I typed FAT FINGERED when I typed in here... Should read $ds=ldap_connect("ldap.blah.com") || die('Connection Failed'); ^^^^ cut an pasted from script. with domain changed of course Sorry bout that. - Mike$ds=ldap_connect("ldap.blah.com") || die('Connection Failed'); ^^ This is the problem.. Answer is here:http://www.php.net/manual/en/language.operators.precedence.php (hint: Change the '||' to 'or' :) --Jani