LDAP除非使用PHP超时,除非我限制它 - 在ldap结果中编辑:1000限制

时间:2011-09-15 15:35:37

标签: php ldap ldapconnection adldap

早安的人们,

我有几个与企业LDAP(MS Active Directory)通信的脚本。我发现如果我不用sleep()命令来限制我的脚本,我会收到以下错误:

Warning: ldap_bind() [function.ldap-bind]: Unable to bind to server: Can't contact LDAP server in..

我的大多数脚本所做的是获取Active Directory对象的成员,然后找到这些结果的成员。

我有一个名为getMembers()的函数,它在运行已检索的成员时调用自身,直到没有更多结果。

我发现我必须:

sleep(1);
getMembers();

因为我的约束不会失败并且超时。

我想知道是否有一种更好的方法可以在没有被我的脚本中途踢出的情况下从ldap中剔除垃圾。暂停1秒将导致我的脚本花费97个小时处理所有项目,我希望将时间缩短一半,以便我可以让它在周末运行。

由于

编辑--------------------------

所以我通过研究发现LDAP中有1000个记录限制,而PHP无法从LDAP中分页结果。由于我查询LDAP的方式(一次一个查询)我能够计算每次调用LDAP的迭代次数,当该计数器达到900左右时,我让它睡了一分钟。这样我就会得到更多结果。我无法在PHP中找到ldap分页的解决方案。

0 个答案:

没有答案