当我测试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...";
}
}
?>
答案 0 :(得分:0)
我这边的检查站很少:
如果您使用的是主机名而不是IP,您可以尝试这样做: $ ip = gethostbyname('ldap.example.com'); $ ldapconn = ldap_connect($ ip);
如果LDAP端口不是默认端口,也请检查它,如果不是默认值,则可以指定。
答案 1 :(得分:0)
简单的BIND操作需要DN,而不仅仅是DN的一个组件。