PHP LDAP查询每次都会带来不同的结果

时间:2016-06-29 15:00:36

标签: php ldap

我使用PHP4(无法升级)来查询大约2,000个帐户,但每次刷新页面时它都会带来不同的结果。如果我将数字缩小到800左右,每次结果仍然不同,如果我向下移动到十几个,那么每次都得到相同的结果。请问有人可以提出建议吗?

<?php
set_time_limit(0);
$user = "CN=Account Name,OU=Users,OU=Helpdesk,OU=Group IT,DC=domain,DC=co,DC=uk";
$psw = "PasswordHere";
$csv = file('AD-Managers.csv');
foreach ($csv as $line){
    $names = explode(",",$line);//explode by commas
    $managerExists = "0";
    $managerUPN = $names[4];
    $managerSearch = "userprincipalname=".$managerUPN;
    $search = "userprincipalname=".$userUPN;
    $server = "jpr-ads-01s.jpress.co.uk";
    $dn = "DC=domain,DC=co,DC=uk";
    $ds=ldap_connect($server) or die("Could not connect to {$ldaphost}");
    ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION,3); 
    ldap_set_option($ds, LDAP_OPT_REFERRALS,0); 
    if($r=ldap_bind($ds, $user , $psw)){ //using bind as I will be updating accounts once I get it working
        $sr=ldap_search($ds, $dn, $managerSearch);
        $data = ldap_get_entries($ds, $sr);

        //array shift as the first result in the array is NULL
        $daa = array_shift($data);

        foreach($data as $userData){
            if (strpos($userData["dn"], 'Google Apps') == false){//make sure it's not a contact
                $managersName = $userData["distinguishedname"][0];
                $managerExists = "1";
                break; //stop the loop if the user is found
            }
        }
    }
    ldap_close($ds);
    if($managerExists == "1"){
        echo "manager: ".$managerUPN;
        echo "<br />";
    }
else{
        echo "manager not found: ".$managerUPN;
        echo "<br />";
    }
}
?>

CSV样本:

1234567,John Smith,JOHN SMITH,john.smith@domain.co.uk,johns.manager@domain.co.uk,ABC1234,1,,,,,,,,,,,,
8901234,Jane Doe,JANE DOE,jane.doe@domain.co.uk,janes.manager@domain.co.uk,DEF7890,2,,,,,,,,,,,,

样本结果1:

manager not found: johns.manager@domain.co.uk
manager not found: janes.manager@domain.co.uk

但我可以立即刷新页面并获得:

manager: johns.manager@domain.co.uk
manager: janes.manager@domain.co.uk

0 个答案:

没有答案