php ldap поиск медленный и неудачный, в то время как команда ldap search с тем же хостом, портом и пользователями работает хорошо
У меня есть эта проблема, и я понятия не имею, может кто-нибудь дать предложение?:)
Командная строка, которую я использую:
ldapsearch -LLL -h xxx -p xxx -x -D user01 -w aost.234 -b "DC=contoso,DC=com" "objectClass=*"
Я могу получить результат с помощью команды, но если я использую следующие php-коды, я всегда получаю ошибку с функцией ldap_search:
<?php
echo microtime(true).": start connect ldap server\r\n";
$ldapconn = ldap_connect('xxxx', xxx) or die("Could not connect to $ldaphost");
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
// ldap_set_option($ldapconn, LDAP_OPT_DEBUG_LEVEL, 7);
// ldap_set_option($ldapconn, LDAP_OPT_NETWORK_TIMEOUT, 5);
echo microtime(true).": ldap server connected, start bind ldap session\r\n";
$ldapbind = ldap_bind($ldapconn, 'user01', 'aost.234');
echo microtime(true).": ldap session binded, start search\r\n";
$result = ldap_search($ldapconn, "DC=contoso,DC=com", "objectClass=*");
if(!$result){
die(microtime(true).": ldap search returns false\r\n");
}
echo microtime(true).": ldap search result found\r\n";
$info = ldap_get_entries($ldapconn, $result);
print_r($info);
?>
Я попытался выполнить этот PHP и получить это:
[root@localhost ~]# php ldap_test.php
1512703670.3936: start connect ldap server
1512703670.3943: ldap server connected, start bind ldap session
1512703670.4689: ldap session binded, start search
PHP Warning: ldap_search(): Search: Can't contact LDAP server in /media/sf_www/ldap_test.php on line 18
1512704185.0035: ldap search returns false