我试图编写一些PHP来查询AD LDS / LDAP(2012 R2)实例,但我无法连接。我目前将它设置为未加密的连接(prod将是ssl / tls)。
目前的问题排查:
我已经将代码重写了一百万次,认为这是某种语法错误或者没有正确传递的东西。 $ ldapconn返回"资源ID#2",根据PHP手册似乎是正确的。我此刻难过。我可以打开其他调试吗?
这是它踢回来的错误:
警告:ldap_bind():无法绑定到服务器:无法联系第20行/usr/share/nginx/html/logintest3.php中的LDAP服务器
以下是相关代码:
<?php
// all the debugging
ini_set('display_errors', 'On');
ldap_set_option(NULL, LDAP_OPT_DEBUG_LEVEL, 7);
$ldapuser = "ldapbind";
$ldappassword = "ldapbinder";
$ldapserver = "ldapserver";
$ldapport = 50001;
// connect to ldap server
$ldapconn = ldap_connect($ldapserver, $ldapport)
or die("Could not connect to $ldapserver");
// check if ldap_connect returned a resource value
if($ldapconn) echo "$ldapconn";
// attempting bind
$ldapbind = ldap_bind($ldapconn, $ldapuser, $ldappassword);
echo "Ldap connection debug: " . ldap_error($ldapconn) . "\n";
?>
答案 0 :(得分:0)
试
ldap_set_option($ldap, LDAP_OPT_REFERRALS, 0);
ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3);