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