ldap_bind():无法绑定到服务器

ldap_bind():无法绑定到服务器,ldap,bind,Ldap,Bind,我有以下代码,我收到错误信息: 警告:ldap_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"

我有以下代码,我收到错误信息:

警告:ldap_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()之前尝试以下操作:


有时使用不正确的协议版本时会出现错误,3现在很常见,但不是ldap_*PHP函数系列的标准版本。

我添加了您所说的内容,但仍然是相同的错误。到LDAP的连接良好,但LDAP中的DN字符串似乎不正确_bin@LordOfTheRing好的,补充了另一个建议。仍然是相同的错误或消息是否发生了更改?相同的错误“警告:ldap\u bind():无法绑定到服务器:即使添加了ldap\u set\u选项($ldapconn,ldap\u OPT\u PROTOCOL\u VERSION,3),也无法在C:\xamp\htdocs\ldap.php中联系ldap服务器”;根据您的建议。然后,请再次检查服务器是否正在运行,并且可以从运行php脚本的客户端主机(即通过
telnet ldaphost 636
访问服务器,并查看connect succeedsBelow语句是否显示成功,以便我能够连接,但似乎绑定某些参数未正确传递,并且不确定是哪个参数错。如果($ldapconn)回显“新建LDAP会话成功”;
ldap_set_option($ldapconn, LDAP_OPT_PROTOCOL_VERSION, 3);