Я изо всех сил пытаюсь понять, почему PHP дает сбой без обратной связи или ошибки (за исключением журнала ошибок Windows, сбой в php5, вызывающий сбой модуля php) при выполнении следующего блока кода:
$projects = array();
$pqRes = $connection->getResult("SELECT big query");
//build an array by project id
while($record = sqlsrv_fetch_array($pqRes))
{
if(! array_key_exists($record['ProjectID'],$projects))
{
$projects[$record['ProjectID']] = array();
}
$projects[$record['ProjectID']][] = $record; //this line faults php after about 9100 records
}
Результат одинаков, независимо от того, извлекаются ли объекты или массивы из ресурса sql, а ошибочная строка - это присвоение массива.
Назначение вызывает ошибку в php после примерно 9100 записей.
Если этот цикл был отсчитан, так что управление завершением контролируется, я вижу, что php потребляет около 25 Мб памяти, по конфигурации это разрешено 256.
Ошибка записи не всегда одинакова, она может варьироваться на 3 или 4 индекса.
Код на самом деле довольно бессмысленный, но в целом группирует записи одного и того же productID, но мне очень интересно узнать, что он может сделать, что может привести к внезапной смерти php.
Спасибо за ваше время.