主机应该到达ldap服务器

时间:2013-09-25 08:24:29

标签: php ldap

当我测试ldap_bind时,它在我的测试机器上工作,因为它与我的ldap服务器在同一个域上但是当我将代码移动到web主机时

Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in /home 

我使用ldap服务器从同一域中的浏览器访问它, 所以主机应该到达ldap服务器吗?

            <?php
            // using ldap bind
            $ldaprdn  = 'user';     // ldap rdn or dn
            $ldappass = 'pass';  // associated password
            // connect to ldap server
            $ldapconn = ldap_connect("server.com")    or die("Could not connect to LDAP server.");
            if ($ldapconn) {
                // binding to ldap server
                $ldapbind = ldap_bind($ldapconn, $ldaprdn, $ldappass);
                // verify binding
                if ($ldapbind & strlen($ldappass)>0) {
                   echo "H LDAP bind successful...";
                } else {
                    echo "LDAP bind failed...";
                }
            }
            ?>

2 个答案:

答案 0 :(得分:0)

我这边的检查站很少:

  • 似乎您正在使用LDAPS,即通过SSL,因此请确保证书位于Web托管环境中主机的信任库中。
  • 如果您使用的是主机名而不是IP,您可以尝试这样做: $ ip = gethostbyname('ldap.example.com'); $ ldapconn = ldap_connect($ ip);

  • 如果LDAP端口不是默认端口,也请检查它,如果不是默认值,则可以指定。

答案 1 :(得分:0)

简单的BIND操作需要DN,而不仅仅是DN的一个组件。