IIS上的PHP - 无法通过LDAPS绑定到Active Directory

时间:2014-03-04 16:04:12

标签: php iis active-directory ldap

我正在为我们的用户开发一个小密码重置脚本,在IIS7.5服务器上使用PHP5。我在Active Directory控制器上启用了LDAP over SSL,并使用ldp.exe测试它是否正常工作

以下是连接服务器的代码:

$ldap_server = "ldaps://AD02.district.local";
$ldap_port = "636";
$ldap_user = "service_lookup@district.local";
$ldap_pass = "(goes here)";

$ds = ldap_connect($ldap_server,$ldap_port);
ldap_bind($ds,$ldap_user,$ldap_pass); 
ldap_set_option($ds, LDAP_OPT_REFERRALS, 0);

但是,当我执行脚本时,出现以下错误:

  

警告:ldap_bind()[function.ldap-bind]:无法绑定到服务器:   无法联系第11行的D:\ Sites \ Lookup \ search.php中的LDAP服务器

如果我将$ ldap_server设置为使用ldap://而不是ldaps://,它将连接(即使端口设置为636),但实际的重置功能不起作用(“服务器不愿意执行“)。

有没有办法进一步解决这个问题?或者有人知道可能出现的问题吗?dd

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题。但今天我遇到了同样的问题。

我必须应用以下解决方案才能使其正常工作:

  1. 创建一个文件夹:C:\ OpenLDAP \ sysconf
  2. 创建一个文件' ldap.conf'在C:\ OpenLDAP \ sysconf。
  3. 制作文件的内容:' TLS_REQCERT never' (没有引号)。
  4. 保存。
  5. 现在应该可以了。根据手册,“TLS_REQCERT never”会阻止服务器请求和/或检查任何服务器证书。