首页 > 解决方案 > Active Directory 仅返回 1000 条记录(PHP)

问题描述

我有 61000 条记录需要获取,但我只能检索 1000 条记录。我尝试过 Zend Pagination 来检索数据,但没有奏效。

谁能帮我吗。

标签: phpactive-directoryldap

解决方案


这个限制是由AD设置的MaxPageSize,默认为1000,所以这是正常情况。

MaxPageSize - 此值控制在单个搜索结果中返回的最大对象数,与每个返回的对象的大小无关。要在结果可能超过此对象数量的情况下执行搜索,客户端必须指定分页搜索控件。这是将返回的结果分组到不大于 MaxPageSize 值的组中。总而言之,MaxPageSize 控制在单个搜索结果中返回的对象数。

您无法从客户端更改此限制,但您仍然可以使用LDAP pagination control克服分页结果。

请注意,分页控制是 LDAPv3 协议功能,所以不要忘记设置选项:

ldap_set_option($con, LDAP_OPT_PROTOCOL_VERSION, 3);

另请参见简单的分页结果控件


推荐阅读