0

各位早上好

我有几个与企业 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 的方式(一次 1 个查询),我能够让它计算每次调用 LDAP 的迭代,当该计数器达到 900 左右时,我让它休眠一分钟。这样我会得到更多的结果。不过,我一直无法在 PHP 中找到 ldap 分页的解决方案。

4

0 回答 0