Just to note:
the problem holds true for: ldap_mod_add, ldap_modify, and ldap_mod_replace.
Also, adding ldap_set_option($conn, LDAP_OPT_SIZELIMIT, 200000) doesn't
resolve the problem (or setting it to 0).
Peter
On Tue, 2 Dec 2003, Peter J Hartman wrote:
> Here's a followup to my problem with ldap_mod_replace and ldap_modify.
> Attached is a simple program demonstrating the problem. Basically,
> if you try to fill an attribute in ldap that is something around 17000
> characters or above, ldap_mod_replace hangs. I've determined it
> is definately a PHP problem, since ldap_modify
> from the commandline works consistently and fine with very high amounts of
> data.
>
> Thus, in the following simple code:
>
> $conn = ldap_connect("ldap://ldap.server.net");
> ldap_set_option($conn, LDAP_OPT_PROTOCOL_VERSION, 3);
> ldap_start_tls($conn);
> ldap_bind($conn, 'uid=root,ou=users,dc=server,dc=net', 'password');
> $dn = "mnTB=CB1,mnTS=abra,mnT=index,dc=peterjh,dc=in,dc=us,dc=server,dc=net";
> $array = array();
> $output = "";
> for ($i = 0; $i < 170; $i++)
> {
> # 26 * 4 = 104 - 4 = 100
> # thus append a hundred characters each iteration
> $string =
> "efghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk
> $output .= $string;
> }
> print strlen($output) ."\n";
> $array['mnappparam'][0] = $output;
> ldap_mod_replace($conn, $dn, $array);
>
> Setting the top of $i to 170 or above hangs (consistently) ldap_mod_replace.
> Technically, 161-180 (thus, 17000-18000 characters) hangs inconsistently,
> while 160 and belows never hangs (16000 characters) and 181+ (181000
> chars) hangs everytime.
>
> Any help on this would be highly appreciated,
> Peter John Hartman
>
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php