LDAP SEARCH mit PHP - mehr als 1000 Einträge?
Hallo Forum.
Leider habe ich weder hier im Forum noch mit Google eine Lösung gefunden.
Also:
Ich will mit PHP und LDAP alle Gruppen (ca. 1500) aus dem AD (W2K3) auslesen. Mein Code:
Jetzt funktioniert das auch soweit ... aber er liest immer nur 1000 Einträge aus. Folgende "Fehlermeldung" kommt:
Nach meinen Google-Forschungen ist die LDAP-Suche serverseitig standard auf 1000 Einträge begrenzt (ich selbst habe im PHP keine Limite gesetzt!) ... jedoch sollte dieses Problem durch
gelöst werden ...
Mit dieser Einstellung sollte ldap_search() immer nur 33 Einträge auslesen und danach die nächschten 33 auslesen usw., also sollten alle Einträge ausgelesen werden können, einfach in 33er-Paketen ...
Jedoch will dies nicht so ...
Hat jemand eine Idee / Lösung?
Greetz, Lousek
Leider habe ich weder hier im Forum noch mit Google eine Lösung gefunden.
Also:
Ich will mit PHP und LDAP alle Gruppen (ca. 1500) aus dem AD (W2K3) auslesen. Mein Code:
// Verbindung mit dem LDAP-Server herstellen
$ldap_connect = ldap_connect($ldap_host) or die( "Could not connect!" );
// Beim LDAP-Server authentifizieren
ldap_set_option($ldap_connect, LDAP_OPT_PROTOCOL_VERSION, 3) or die ("Could not set ldap protocol");
ldap_set_option($ldap_connect, LDAP_OPT_REFERRALS, 0);
ldap_set_option($ldap_connect, LDAP_OPT_SIZELIMIT, 33);
$ldap_bind_anonym = ldap_bind($ldap_connect, "*************", "*************");
$filter = "objectclass=group";
$attrb = array("cn");
$ldap_search = ldap_search($ldap_connect, $base_dn, $filter, $attrb, 0, 0) or die ("Could not search!");
$ldap_result = ldap_get_entries($ldap_connect, $ldap_search);
$counter = 0;
foreach ($ldap_result AS $key => $ldap_value) {
echo $ldap_value["cn"]."<br>";
$counter++;
}
echo $counter;
Jetzt funktioniert das auch soweit ... aber er liest immer nur 1000 Einträge aus. Folgende "Fehlermeldung" kommt:
PHP Warning: ldap_search() [function.ldap-search.html]: Partial search results returned: Sizelimit exceeded. in D:\Inetpub\wwwroot\ad\login.php on line 17
Nach meinen Google-Forschungen ist die LDAP-Suche serverseitig standard auf 1000 Einträge begrenzt (ich selbst habe im PHP keine Limite gesetzt!) ... jedoch sollte dieses Problem durch
ldap_set_option($ldap_connect, LDAP_OPT_SIZELIMIT, 33);
Mit dieser Einstellung sollte ldap_search() immer nur 33 Einträge auslesen und danach die nächschten 33 auslesen usw., also sollten alle Einträge ausgelesen werden können, einfach in 33er-Paketen ...
Jedoch will dies nicht so ...
Hat jemand eine Idee / Lösung?
Greetz, Lousek
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 95576
Url: https://administrator.de/forum/ldap-search-mit-php-mehr-als-1000-eintraege-95576.html
Ausgedruckt am: 23.04.2025 um 04:04 Uhr
1 Kommentar