我有以下代码,但出现错误:
警告:ldap_bind():无法绑定(bind)到服务器:无法联系第 17 行 C:\xampp\htdocs\ldap.php 中的 LDAP 服务器
<?php
$ldapconfig['host'] = "dsua1.company.com";
$ldapconfig['port'] = 636;
$ldapconfig['basedn'] = "cn=userid,ou=Applications,ou=Company,ou=Services,dc=iM-2,dc=com";
$ldapconfig['binddn'] = "userid";
$ldapconfig['bindpw'] = "password";
$ldapconn=ldap_connect($ldapconfig['host'],$ldapconfig['port']);
ldap_bind($ldapconn, $ldapconfig['binddn'], $ldapconfig['bindpw']);
?>
最佳答案
由于您指定了端口 636,我假设您需要与服务器建立 SSL 连接。这是通过以下方式实现的:
ldap_connect("ldaps://".$ldapconfig['host']."/");
否则它会尝试发送 SSL 套接字不接受的明文数据。
此外,请在 ldap_connect() 之后和 ldap_bind() 之前尝试此操作:
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);
有时,当使用不正确的协议(protocol)版本时会发生错误,现在很常见的是 3,但不是 ldap_* PHP 函数系列的标准。
关于ldap_bind() : Unable to bind to server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34799025/