无法从Windows 7 64位、Apache 2.4上的PHP 5.5.4连接到LDAPS服务器


Can not connect to LDAPS server from PHP 5.5.4 on Windows 7 64bit, Apache 2.4

我无法从PHP(PHP 5.5.4、Apache 2.4、Windows 7 64位)连接到LDAPS服务器(第三方)。当我使用userdn和密码尝试ldap_bind()功能时,我收到-Unable to bind to server: Can't contact LDAP server.

我有来自LDAPS服务器的自签名证书,但我不知道将PEM文件(Base64)或类似conf.file的文件放在哪里(我已经阅读了很多答案,但对我来说什么都不起作用,例如c:'openldap'sysconf'ldap.confTLS_REQCERT等)

开发文件夹是D:'WebDev,其中内部是包含项目的'www文件夹,以及包含'Apache文件夹和'PHP文件夹的'binaries文件夹。PHP是Apache的一个模块,Apache是由httpd.exe --standalone --console启动的。

Openssl s_client -connect xxxx -CAfile xxxx到LDAPS服务器工作良好,返回代码为0。没有CCD_ 13 I fet CCD_。

没有SSL的LDAP对我来说很好,我尝试了一些免费的在线LDAP测试服务器。

问题解决了。注意:机器上没有安装Openldap。

解决方案是设置Windows系统变量LDACONF,值为例如c:'users'user'.ldaprc,在文件.ldaprc中设置证书路径,例如TLS_CACERT c:'users'user'.ssh'ldap-ca.pemTLS_REQCERT never,两者都有效。

然后从控制台或通过Apache从浏览器连接脚本运行正常

conf的默认搜索路径是c:''users''user'',但对于通过Apache运行的浏览器应用程序,必须设置系统变量LDACONF。

我希望这能有所帮助!