LDAPS 未与 PHP 连接

2023-12-10

我在使用 Windows 连接到安全 LDAP 服务器时遇到问题,而且我在网上到处都看到同样的情况,但到目前为止还没有有效的解决方案。

我尝试过同时使用 IIS 和 WAMPSERVER。我已将 libeay32.dll 和 ssleay32.dll 放入 SYSTEM32 目录中并启用 LDAP 扩展。

这是我的代码:

putenv('LDAPTLS_REQCERT=never');
ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
$resource = ldap_connect("ldaps://{redacted}/", 636) or die ("Could not connect.");
ldap_set_option($resource, LDAP_OPT_PROTOCOL_VERSION, 3)
$bound = ldap_bind($resource, "{redacted}\ldap", "****");

echo ldap_error($resource);

I get Can't contact LDAP server来自 ldap_error 和 PHP 警告Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in C:\wamp\www\ldapTest.php

我尝试连接的服务器正在运行 Active Directory,并且我已确认可以使用其他 LDAP 工具进行连接。我知道这台服务器的证书有问题 - 我正在使用的 LDAP 工具说The server you are trying to connect to is using a certificate which could not be verified! - Issuer certificate not found

我怀疑错误的证书导致了绑定问题,这就是我尝试 LDAPTLS_REQCERT=never 的原因。


我不记得在哪里找到这篇文章;但是我发现默认情况下即使您指定 TLS_REQCERT 也不会被忽略。

我发现/然后忘记并再次发现的是你需要执行以下操作(对于 Windows 机器)

  1. 在c盘根目录下创建以下目录结构 c:\OpenLDAP\sysconf(创建两个文件夹)
  2. 在 sysconf 文件夹内创建一个名为“ldap.conf”的文本文件
  3. 在您创建的文本文件中,将以下内容放在第一行,然后保存 “TLS_REQCERT 从不”(不带引号)
  4. 重新启动 Apache,它现在应该可以工作了。

试一试。还有祝你好运!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LDAPS 未与 PHP 连接 的相关文章

随机推荐