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

时间:2015-06-25 12:55:57

标签: php windows apache ssl ldap

我无法从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文件夹,带有\binaries文件夹和\Apache文件夹的\PHP文件夹。 PHP是Apache的模块,Apache由httpd.exe --standalone --console启动。

Openssl s_client -connect xxxx -CAfile xxxx到LDAPS服务器工作正常,返回代码为0。没有-CAfile我没有code 19 (self-signed certificate in certificate chain)

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

1 个答案:

答案 0 :(得分:0)

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

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

然后来自控制台的连接脚本或来自浏览器的Apache正常运行。

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

我希望这有帮助!

相关问题