如何在PHP中正确使用ldap_search()?

6 php ldap

到目前为止,我花了大部分时间来研究这个问题.出于某种原因,我不能为我的生活找出下面的代码出了什么问题.它是PHP手册中给出的示例的修剪/修改版本.

当我运行以下代码时,我收到错误消息:

Warning: ldap_search() [function.ldap-search]: Search: Operations error in C:\wamp\www\ldap.php on line 12
Run Code Online (Sandbox Code Playgroud)

相关代码:

<?php
$ds=ldap_connect("serverName.first.second.third.fourth");

ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);

    $r=ldap_bind($ds);    
    $sr=ldap_search($ds, "OU=InfoSystems,OU=Domain Users,DC=first,DC=second,DC=third,ED=fourth", "sn=MyActualSurName");  
    ldap_close($ds);
?>
Run Code Online (Sandbox Code Playgroud)

我使用VBS脚本打印当前登录用户的(Me)完整DN.从那时起,我插入了相应的OU和DC字段.

任何帮助将不胜感激.如果需要更多说明,请不要犹豫.

小智 6

终于找到了问题.我们的AD服务器允许匿名绑定,但显然不允许在没有凭据的情况下进行搜索.一旦我用凭证调用ldap_bind(),上面的代码就可以了.