Php 由于“我无法绑定到LDAP服务器”;无效凭证";,虽然凭证是有效的

Php 由于“我无法绑定到LDAP服务器”;无效凭证";,虽然凭证是有效的,php,ldap,Php,Ldap,我正在设置一个php页面来连接LDAP服务器,但由于某些原因,它不允许我连接。起初我认为我的凭据设置不正确,但在将它们输入Softerra LDAP浏览器后,我就能够连接到那里了 <?php $url = "ldaps://ldap.XXX.XXXX.edu:PORT/o=XXXX.edu"; $ldap_user = "uid=XXXXXXXX,ou=Campus Accounts,o=XXXX.edu"; $ldap_pass = "XXXXXXXX";

我正在设置一个php页面来连接LDAP服务器,但由于某些原因,它不允许我连接。起初我认为我的凭据设置不正确,但在将它们输入Softerra LDAP浏览器后,我就能够连接到那里了

<?php 
    $url = "ldaps://ldap.XXX.XXXX.edu:PORT/o=XXXX.edu";
    $ldap_user = "uid=XXXXXXXX,ou=Campus Accounts,o=XXXX.edu";
    $ldap_pass = "XXXXXXXX";

    ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
    $conn = ldap_connect($url) or die ("Could not connect to server");
    if ($conn)
    {
        ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3) ;
        $bind = ldap_bind($conn, $ldap_user, $ldap_pass);
    }
?>

是否需要对用户数据做一些额外的操作以使其被接受?

如果您正在连接到Active Directory(这是由o=XXX.edu样式表示法暗示的(如果是,则不正确))根据尝试绑定为xxxx.edu\xxxx的注释建议,Active Directory中最根节点始终为dc=not o=,因此更正确的绑定DN或基本DN最有可能完成为:


dc=xxx,dc=edu

我认为您在
$ldap\u user
中设置了错误的用户格式。尝试一下domain\user.like“XXXX.edu/uid=XXXXXXXX”?我尝试用它来代替$ldap\u user,但得到了一个“警告:ldap\u bind():无法绑定到服务器:操作错误”错误。我的意思是更像XXXX.edu\XXXXXXXX
Warning: ldap_bind(): Unable to bind to server: Invalid credentials