php连ldap时 ldap_search不到数据的问题 急!!!我的环境是php4 按php4手册里的例子,改了改做上的:<?php
// 本例使用到 connect, bind, search, interpret search
// result, close connection 等等 LDAP 的功能。
echo "<h3>LDAP 搜寻测试</h3>";
echo "连接中 ...";
$ds=ldap_connect("192.168.0.105:389"); // 先连上有效的 LDAP 服务器
echo "连上 ".$ds."<p>";if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // 匿名的 bind,为只读属性
echo "Bind 返回 ".$r."<p>";
echo "Searching for (sn=z*) ..."; // 找寻 z 开头的姓氏
$sr=ldap_search($ds,"dc=rmgab,dc=com", "sn=z*"); //dc=rmgab,dc=com这里,到底要写什么?这是我的域环境
echo "Search 返回 ".$sr."<p>";
echo "z 开头的姓氏有 ".ldap_count_entries($ds,$sr)." 个<p>";
echo "取回姓氏资料 ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "资料返回 ".$info["count"]." 笔:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn 为: ". $info[$i]["dn"] ."<br>";
echo "cn 为: ". $info[$i]["cn"][0] ."<br>";
echo "email 为: ". $info[$i]["mail"][0] ."<p>";
}
echo "关闭链接";
ldap_close($ds);
} else {
echo "<h4>无法连接到 LDAP 服务器</h4>";
}
?>报错为LDAP 搜寻测试
连接中 ...连上 Resource id #2
Binding ...Bind 返回 1Searching for (sn=z*) ...
Warning: ldap_search(): Search: Operations error in c:\appserv\www\ldap\test2.php on line 14
Search 返回
Warning: ldap_count_entries(): supplied argument is not a valid ldap result resource in c:\appserv\www\ldap\test2.php on line 16
z 开头的姓氏有 个取回姓氏资料 ...
Warning: ldap_get_entries(): supplied argument is not a valid ldap result resource in c:\appserv\www\ldap\test2.php on line 18
资料返回 笔:关闭链接
我觉得就是上面红字那里可能出了点问题~~ 所以第14行报错说操作失误~~ 后面的问题,因为就是上面取不到结果造成的~~
呵,各位~~ 多帮忙~~ 多谢~~
// 本例使用到 connect, bind, search, interpret search
// result, close connection 等等 LDAP 的功能。
echo "<h3>LDAP 搜寻测试</h3>";
echo "连接中 ...";
$ds=ldap_connect("192.168.0.105:389"); // 先连上有效的 LDAP 服务器
echo "连上 ".$ds."<p>";if ($ds) {
echo "Binding ...";
$r=ldap_bind($ds); // 匿名的 bind,为只读属性
echo "Bind 返回 ".$r."<p>";
echo "Searching for (sn=z*) ..."; // 找寻 z 开头的姓氏
$sr=ldap_search($ds,"dc=rmgab,dc=com", "sn=z*"); //dc=rmgab,dc=com这里,到底要写什么?这是我的域环境
echo "Search 返回 ".$sr."<p>";
echo "z 开头的姓氏有 ".ldap_count_entries($ds,$sr)." 个<p>";
echo "取回姓氏资料 ...<p>";
$info = ldap_get_entries($ds, $sr);
echo "资料返回 ".$info["count"]." 笔:<p>";
for ($i=0; $i<$info["count"]; $i++) {
echo "dn 为: ". $info[$i]["dn"] ."<br>";
echo "cn 为: ". $info[$i]["cn"][0] ."<br>";
echo "email 为: ". $info[$i]["mail"][0] ."<p>";
}
echo "关闭链接";
ldap_close($ds);
} else {
echo "<h4>无法连接到 LDAP 服务器</h4>";
}
?>报错为LDAP 搜寻测试
连接中 ...连上 Resource id #2
Binding ...Bind 返回 1Searching for (sn=z*) ...
Warning: ldap_search(): Search: Operations error in c:\appserv\www\ldap\test2.php on line 14
Search 返回
Warning: ldap_count_entries(): supplied argument is not a valid ldap result resource in c:\appserv\www\ldap\test2.php on line 16
z 开头的姓氏有 个取回姓氏资料 ...
Warning: ldap_get_entries(): supplied argument is not a valid ldap result resource in c:\appserv\www\ldap\test2.php on line 18
资料返回 笔:关闭链接
我觉得就是上面红字那里可能出了点问题~~ 所以第14行报错说操作失误~~ 后面的问题,因为就是上面取不到结果造成的~~
呵,各位~~ 多帮忙~~ 多谢~~
确定域名服务器没问题吗?
你看看这里的例子,
http://www.php.net/manual/en/function.ldap-connect.php
二个是设置:ldap_set_option(),因为你从window 域控不能完全发送认证信息