我在Ubuntu 14.04中安装了Openldap并且我也安装了phpldapadmin一切看起来都很好,直到这一步,但是当我尝试用这个脚本连接我的php应用程序时,我得到了与结果资源id相同的响应#2 < / p>
这是我的剧本:
$ds=ldap_connect("ladp://192.168.1.2",389)or die("Could not connect to $ldaphost");
echo 'Le résultat de connexion est ' . $ds . '<br />';
if ($ds) {
echo 'Liaison ...';
$username = "cn=admin,dc=ldap,dc=com";
$upasswd = "password";
$r=ldap_bind($ds,$username, $upasswd);
echo 'Le résultat de connexion est ' . $r . '<br />';
答案 0 :(得分:0)
如果您使用的是LDAP 2
当使用OpenLDAP 2.x.x时,ldap_connect()将始终返回资源,因为它实际上没有连接,只是初始化连接参数。实际连接发生在下一次调用ldap_ * funcs时,通常使用ldap_bind()。
我认为您可能需要测试ldap_bind()
的结果,如此建议in the manual
<?php
$ds=ldap_connect("ldap://192.168.1.2",389)or die("Could not connect to $ldaphost");
$username = "cn=admin,dc=ldap,dc=com";
$upasswd = "password";
$r=ldap_bind($ds,$username, $upasswd);
// verify binding
if ($r) {
echo 'Le résultat de connexion est ' . $r . '<br />';
} else {
echo "LDAP bind failed...\n";
echo ldap_error($ds);
}