ldap_bind() : Unable to bind to server

标签 ldap bind

我有以下代码,但出现错误:

警告: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/

相关文章:

java - 通过Java更新LDAP时如何指定哈希算法?

tomcat kerberos认证+ldap授权

Android:如何使用 BIND_AUTO_CREATE 选项停止由 bindService() 启动的服务?

c++ - 使用 boost::bind 输出作为数组下标

Javascript/Jquery 问题 - playStateChange,Mediaplayer 对象 IE9 ... 试图让 Jquery bind() 处理此事件 ...继续阅读

dns - DNS 中的 "additional section"是什么以及它是如何工作的?

apache - 带有 LDAP 身份验证的 SVN 无法正常工作

spring - J2C别名在WAS服务器上有什么用?

Golang 与 LDAP 通信

c++ - Boost::‘operator[]’ 的函数错误模糊重载