PHP LDAPS绑定失败,我缺少什么使其工作?

PHP LDAPS绑定失败,我缺少什么使其工作?,php,ldap,Php,Ldap,我已经浏览了很多关于这方面的问题,并且已经用尽了我的选择,所以现在开始。我有一个Windows 2008R2域控制器。我使用PHP从不同的服务器、同一个域、使用LDAP连接到它。(也是Win2008R2,IIS7.5)我已确保: 域控制器的证书已导入到 PHP计算机上的受信任根权限存储 我在PHP机器上使用了ldp.exe,可以使用DC名称和端口636通过LDAP进行连接和绑定 我的用户凭据是正确的 我可以使用LDAP连接,PHP中的389端口很好 这是我的密码: putenv('LDAPT

我已经浏览了很多关于这方面的问题,并且已经用尽了我的选择,所以现在开始。我有一个Windows 2008R2域控制器。我使用PHP从不同的服务器、同一个域、使用LDAP连接到它。(也是Win2008R2,IIS7.5)我已确保:

  • 域控制器的证书已导入到 PHP计算机上的受信任根权限存储
  • 我在PHP机器上使用了ldp.exe,可以使用DC名称和端口636通过LDAP进行连接和绑定
  • 我的用户凭据是正确的
  • 我可以使用LDAP连接,PHP中的389端口很好
这是我的密码:

putenv('LDAPTLS_REQCERT=never');

    $host = "ldaps://mydc.thing.com:636";
    $dn = "Admin User";
    $dnp = "adminPaSwOrD";


    $base = "DC=thing,DC=com";
    $scope = "sub";

    ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, 3);
    ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);

    $ds = ldap_connect($host);

    $r=ldap_bind($ds, $dn, $dnp);  
错误消息始终为:

PHP Warning:  ldap_sasl_bind() [<a href='function.ldap-sasl-bind'>function.ldap-sasl-bind</a>]: Unable to bind to server: Can't contact LDAP server in ...
我已经把护目镜擦了一遍,自己也试了不少东西。wierd部分是,PHP机器上的LDAP客户机可以连接并绑定到DC,而不是在PHP中。我还尝试了从CLI中使用PHP(将IIS从混合中删除),但它返回了相同的错误

任何帮助都将不胜感激


SG

我将PHP升级到5.6,问题就解决了。我不知道为什么。为了回答我自己的问题“我错过了什么才能让它工作?”-我想我错过了正确的PHP版本

您尝试过中提到的建议吗?@YSU-是的,我已经使用了putenv('LDAPTLS_REQCERT=never');在脚本的顶部,以及将ldap.conf放在根目录(c:)和建议的文件夹c:\openldap\sysconf\中,都没有用。也许我应该升级PHP?我想我会试试的。我的证书是有效的,当我尝试连接时,DC端没有SSL错误。
#Version 5.3.8
#cURL: 7.22.0, SSL:yes, dict, file, ftp, ftps, gopher, http, https, imap, imaps, ldap, pop3, pop3s, rtsp, scp, sftp, smtp, smtps, telnet, tftp
#LDAP: enabled, SASL: enabled, OpenLdap v.20319