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\n";
}
while ($entry = ldap_next_entry($r, $entry));
ldap_close($r);
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 ?
Thanks
According to php.net/manual/...ldap-search, 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:
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 forldap_search()
.