Recently I have noticed very strange occurances with PHP and arrays and
cannot for the life of me figure out why. When I deal with a large array,
+2000 entries the Apache child process Aborts. The same is true when I am
working with about 20 different arrays the vary in length, ranging from 3 to
30(total lines of code~230). To make it stranger, the later case mentioned,
works in PHP Version 4.0.4pl1 and does not work in PHP Version 4.0.6.
I switched to PHP Version 4.0.6 because the 4.0.4p1 child process was
Aborting when I tried to add words from MySql to a pspell dictionary. I
verified that the data was actually returning from MySql and that it got the
code to add it to the dictionary:
----------Code Example-----------
//Test loop to recreate crash manually without MySql
// for ($y=0;$y<2000;$y++)
// $wordlist[]=$y;
$query = "select check_word from dictionary";
$words = $db->selectQuery($query);
// for ($q=0;$q<2;$q++)
for ($q=0; $q<count($words); $q++)
{
$word = $words[$q]["check_word"];
// $wordlist[] = $words[$q]["check_word"];
echo "<br>" . $word;
$wordlist[]=$word;
}
//The data is all there
print_r($wordlist);
$sp = new SpellChecker($symbols, $wordlist, $wrongcolor);
--------In SpellChecker.checkSpelling()-----------
// for ($i=0;$i<5;$i++)
for ($i=0;$i<count($this->wordlist);$i++)
pspell_add_to_personal ($pspell_link, $this->wordlist[$i]);
If I comment out the above line to add only 5 elements to the list it
Aborts. If I change the 5 to a 4, it works.
The data at element 5 is: ACCP's
for live data.
And for test data it is: 5
In either case, live data or test data, the child apache process aborted
with both versions of PHP. PHP 4.0.4pl1 did not crash when including a file
with a list of arrays that are used for site Default values whereas 4.0.6
did. I have gone back to PHP 4.0.4pl1 for now.
Sincerely,
Robert T. Covell
President / Owner
Rolet Internet Services, LLC
Web: www.rolet.com
Email: [EMAIL PROTECTED]
Phone: 816.210.7145
Fax: 816.753.1952
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]