尝试使用URL('ldap:// hostname /')从使用PHP5的Ubuntu服务器连接到LDAP服务器时遇到问题。
当我不使用URL格式($server = 'hostname'
)时,代码工作正常。
代码:
$server = 'ldap://hostname/';
$ldapconn = ldap_connect($server, 3268) or die("Could not connect to LDAP server.");
if ($ldapconn) {
$ldapbind = @ldap_bind($ldapconn, 'username', 'password');
$error_ldap_code = ldap_errno($ldapconn) ;
if($error_ldap_code==0) {
echo 'Connected!!!';
}
}
编辑:
我需要ldaps
,但我看到ldap
我有同样的问题。虽然通过在URL中添加端口解决了与ldap相关的问题,但我仍然遇到了ldaps问题。无论如何,在仅使用主机名(没有URL格式)连接后,我设法绕过它ldap_start_tls ( resource $link )
。
答案 0 :(得分:2)
尝试在URL中指定端口 - 它不是标准端口389.所以'ldap:// hostname:3268'?
答案 1 :(得分:0)
除非您使用LDAP和SSL,否则您无需在ldap://
函数的第一个参数中指定ldap_connect()
。
因此,ldap_connect('hostname')
是正确的。
注意:对于使用SSL的LDAP,您可以使用ldap_connect('ldaps://hostname')
。