dongtang6718 2014-07-23 14:33
浏览 230

PHP LDAP克服大小限制

I have a very old network box, that has PHP4 and a variation of LDAP installed on it.

Querying information isn't normally an issue when the returned results are small, but I'm trying to get all entries in one specific CN

This results in 'Warning: ldap_search() [function.ldap-search]: Partial search results returned: Sizelimit exceeded'

All the suggestions I've read have been for PHP5+ and Active directory, nothing for something this OLD.

I'm hoping you can help.

This is my very simple ldap query. $r is the connection.

$result = ldap_search($r, "cn=location", "(cn=*)");
$entry = ldap_first_entry($r, $result);

do {
    $dn = ldap_get_dn($r, $entry);
    echo "DN is $dn
while ($entry = ldap_next_entry($r, $entry)); 


This works until I hit the limit. I have tried changing the limit using LDAP_OPT_SIZELIMIT but obviously that didn't help.

What I'm wondering is.. is there any way to count the entries and then process them in smaller more manageable batches using something like :

$sr=ldap_list($r, "cn=location","cn>=".$last_location);

Is that possible ? any other ideas ?


  • 写回答

1条回答 默认 最新

  • douji8033 2014-07-23 14:45

    According to, you should set the $sizelimit parameter to 0 to disable the memory limit. It will not, however, override the LDAP server configuration, if that is the cause of the error.

    The function call will look something like the following:

    ldap_search($r, "cn=location", "(cn=*)", null, 0, 0);

    I'm not clear on how the filter parameter works, so you may need to change it if you get an error there. See the above link for descriptions on all of the parameters for ldap_search().

    本回答被题主选为最佳回答 , 对您是否有帮助呢?



  • ¥40 求一款能支持ios15以上的屏蔽越狱插件。比较好用的
  • ¥15 C++ QT对比内存字符(形式不定)
  • ¥30 C++第三方库libiconv 远程安装协助
  • ¥15 这2句代码如何理解
  • ¥15 duilib开发文本字串超过长度显示
  • ¥20 mysql的.ibd文件为啥那么多
  • ¥15 C++中采用栈和BFS算法求解迷宫问题
  • ¥15 关于#java#的问题:这是跳转失败出现的界面这是哪个出现问题的servlet(开发工具-ide)
  • ¥15 EBS R12费用采购跨月冲销
  • ¥15 python中用mplfinance如何做到多股同列?