Hummerstadt
Новичок
признаки остановки процесса из-за нехватки памяти?
Есть цикл в скрипте, который при каждой итерации выполняет задачу и пишет в файл-счетчик 1 байт, чтобы при остановке продолжить с того же места.
В процессе помещает в массив строчные данные, чтобы избежать повторений (скрипт разбирает текст по словам).
Проблема такая: скрипт работал как ожидалось, а сейчас дальше "последней" итерации не идет и в файл-счетчик не пишет, хотя до этого успевает написать в лог.
Может ли это быть вызвано нехваткой памяти (размер файла, который при запуске должен прочесться в массив 300 КБ)? Должно ли в таком случае что-то быть записано в error log Apache? Потому что последняя запись там старая.
Сервер локальный, ограничения на память нет. Вот та часть кода, где в счетчик ничего не пишется (его размер сейчас 300 байт):
-~{}~ 11.01.06 12:25:
посмотрел на функции, участвующие в цикле, остановку скрипта они вызвать не могут
Есть цикл в скрипте, который при каждой итерации выполняет задачу и пишет в файл-счетчик 1 байт, чтобы при остановке продолжить с того же места.
В процессе помещает в массив строчные данные, чтобы избежать повторений (скрипт разбирает текст по словам).
Проблема такая: скрипт работал как ожидалось, а сейчас дальше "последней" итерации не идет и в файл-счетчик не пишет, хотя до этого успевает написать в лог.
Может ли это быть вызвано нехваткой памяти (размер файла, который при запуске должен прочесться в массив 300 КБ)? Должно ли в таком случае что-то быть записано в error log Apache? Потому что последняя запись там старая.
Сервер локальный, ограничения на память нет. Вот та часть кода, где в счетчик ничего не пишется (его размер сейчас 300 байт):
PHP:
$fp=fopen($counter,'a');
$size_counter=filesize($counter);
for($i=$size_counter;$i<$count_array;$i++)
{
$val=trim($array[$i]);
if(!in_array($val,$array_check))
{
if($page=func_1($val))
{
if(func_2($page))
{
write_log("second level done");
}
}
else
{
report1('no page to work on 3');
}
$array_check[]=$val;
}
fwrite($fp,'o');
}
fclose($fp);
посмотрел на функции, участвующие в цикле, остановку скрипта они вызвать не могут