面对警告LDAP使用PHP错误的链接资源

I am attempting to connect to active directory via LDAP in php. But i get the following warnings:

  • Warning: ldap_search(): supplied argument is not a valid ldap link resource in C:\Program Files (x86)\EasyPHP-12.1\www\GuestRegister\login.php on line 39

  • Warning: ldap_get_entries() expects parameter 1 to be resource, string given in C:\Program Files (x86)\EasyPHP-12.1\www\GuestRegister\login.php on line 41 entries returned

Can anyone help? :)

My code look like:

  <?php
    $ds = "10.33.85.172";
    $ldaprdn  = "CN=HackTeam,CN=Users,DC=cisco,DC=internal";    
    $ldappass = 'HackMe007';

    // connect to ldap server
    $ldapconn = ldap_connect("10.33.85.172")
    or die("Could not connect to LDAP server.");

    if ($ldapconn) {

    // binding to ldap server
    $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);

    // verify binding
    if ($ldapbind) {
        echo "Connected to LDAP";

        ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION,3);
        ldap_set_option($ldapconn, LDAP_OPT_REFERRALS,0);
        $filter="(|(sn=guest-Juan*)(givenname=Juan*))";
        $justthese = array("ou", "sn", "givenname", "mail");
        $sr=ldap_search($ds, $ldaprdn, $filter, $justthese);
        $info = ldap_get_entries($ds, $sr);
        echo $info["count"]." entries returned
";

    } else {
        echo "Connection to LDAP Failed";
    }
}       
?>

change:

$sr=ldap_search($ds, $ldaprdn, $filter, $justthese);

to

$sr=ldap_search($ldapconn, $ldaprdn, $filter, $justthese);

You should pass the connection resource as the first parameter to ldap_search, what you are passing is $ds which is just a string with the ldap server's ip.