我刚刚开始在LDAP
工作,并试图在PHP
之间建立连接;LDAP
.
我创建了一个小脚本,通过引用这个来获取所有属性信息脚本。
$ldap_server = "My_Server_Name";
$ldap_user = "uid=platypus,ou=users,dc=crowd";
$ldap_pass = "My_Password";
$ad = ldap_connect($ldap_server);
ldap_set_option($ad, LDAP_OPT_PROTOCOL_VERSION, 3);
$bound = ldap_bind($ad, $ldap_user, $ldap_pass);
$result = ldap_read($ad, $ldap_user, "objectClass=*");
$attributes = ldap_get_attributes($ad, $result);
echo "<pre>";
print_r($attributes);
连接成功,它的绑定也正确,ldap_read
也给我#resourse id
,但ldap_get_attributes
给我以下错误:
PHP警告- yiibaseErrorExceptionLdap_get_attributes():提供的资源不是有效的ldap结果条目资源
如有任何帮助,不胜感激。
谢谢
ldap_get_attributes()期望输入参数是对单个条目的引用,而不是ldap_get_attributes-documentation中所述的完整结果集的引用。
请查看ldap_get_first()或ldap_get_next()以获取这样的单条目引用。
感谢tejesh为我指明了正确的方向。我本来想改进他的答案,但是改动太大了:/
ldap_get_attributes()期望输入参数是单个条目而不是数组。http://php.net/manual/en/function.ldap-get-attributes.php。