LDAP的LDAP_add:操作错误

时间:2011-05-17 15:48:34

标签: php active-directory ldap

我在使用LDAP方面相当不错(这实际上是我的第一个项目),我无法在谷歌上找到可以帮助我的答案...... 所以我的问题是:我正在尝试将php的联系人添加到Windows 2003服务器上的活动目录中。我可以连接到服务器,我也没有ldap_bind的问题。 但是当我运行程序时,我总是得到错误:

警告:ldap_add()[function.ldap-add]:添加:行bla(Blabla)中的操作错误

并且ldap_error也只说“操作错误” 这是非常模糊的,所以我甚至不知道它是服务器或我的代码的问题。 我看到一些线程有类似的问题,服务器不允许匿名访问,但我甚至绑定管理员帐户,但它仍然无法正常工作。

我的代码看起来很像这样:

$ldapcon=ldap_connect("servername");

if($ldapcon) {
    $bind=ldap_bind($ldapcon,"Admin@domain.com", "somePassword");
    if($bind) {         
        //  create data...
        $info=array();
        $info["cn"][0]          = "Hans Mustermann";
        $info["sn"][0]          = "Mustermann";
        $info["givenName"][0]   = "Hans";
        $info["mail"][0]        = "MustermannH@firma.de";
        $info["objectclass"][0] = "top";
        $info["objectclass"][1] = "person";
        $info["objectclass"][2] = "organizationalPerson";
        $info["objectclass"][3] = "contact";
        $info["ou"][0]          = "Users";
        $info["ou"][1]          = "contact";

        // add Data...
        $r=ldap_add($ldapcon, "cn=Hans Mustermann, sn=Mustermann", $info)
            or die(ldap_error($ldapcon)); //error: operations error
    }
}

是否缺少某些信息?代码错了吗?我需要对广告设置进行一些更改吗?这是“远程权利设置”或其他什么问题? 我是非常愚蠢而盲目地看到这个问题,还是一个不容易修复的大事? 你们有人有想法吗?

非常感谢 Chillikarli

1 个答案:

答案 0 :(得分:-2)

您可以尝试使用

而不是或死()条件
// add Data...
if(!(ldap_add($ldapcon, "cn=Hans Mustermann, sn=Mustermann", $info))) {
     echo "There is a problem to create the account\n";
     echo "Please contact your administrator !\n";
     echo "LDAP Error: ".ldap_error($ldapcon)."\n";
     exit;
}
ldap_unbind($ldapcon);