阅读量:0
LDAP PHP查询无结果可能有以下几个原因:
连接问题:请检查您的LDAP服务器地址、端口、用户名和密码是否正确。确保您的PHP LDAP扩展已安装并启用。
查询语法错误:请检查您的查询语句是否正确。LDAP查询通常使用
ldap_search()
或ldap_query()
函数。确保您使用了正确的搜索基础(base DN)和过滤器。权限问题:请确保您的LDAP用户具有足够的权限来查询所需的信息。有些LDAP服务器可能需要用户具有特定的访问级别或角色才能执行查询。
数据问题:请检查您的LDAP服务器上的数据是否正确。可能没有符合您查询条件的数据项。
超时问题:如果您的查询范围很大或LDAP服务器响应较慢,可能会导致查询超时。您可以尝试增加PHP LDAP查询的超时限制。
要调试LDAP PHP查询,您可以使用ldap_error()
和ldap_error_string()
函数来获取错误信息和错误代码。这将帮助您确定问题的根源。
例如:
$conn = ldap_connect("ldap.example.com", 389); if (!$conn) { die("连接失败: " . ldap_error()); } $search_base = "ou=users,dc=example,dc=com"; $search_filter = "(objectClass=person)"; $search_attributes = array("sn", "cn"); $search_result = ldap_search($conn, $search_base, $search_filter, $search_attributes); if ($search_result === false) { die("查询失败: " . ldap_error()); } else { $info = ldap_get_entries($conn, $search_result); print_r($info); } ldap_free_result($search_result); ldap_close($conn);
这段代码将尝试连接到LDAP服务器,执行一个基本的查询,并打印结果。如果在任何时候发生错误,它将显示错误信息和代码。