Я пытаюсь запустить PHP-скрипт под локальным Linux Apache без остановки Apache. я использую PHP 5.5.9-1ubuntu4.4
, Apache/2.4.7 (Ubuntu)
, Ubuntu 14.04 LTS 64-bit
,
Что я сделал до сих пор:
В моем PHP-скрипте:
ignore_user_abort(true);
set_time_limit(0);
...
foreach(...) {
...
// inside loop
usleep(1000);
...
}
В целом php.ini
:
max_execution_time=3600;
Ничто из вышеперечисленного не помогло. Скрипт останавливается через ~ 30сек. У меня нет идей. Возможно ли, что мой скрипт закрывается, потому что ему не хватает памяти? Лучший способ проверить это?
РЕДАКТИРОВАТЬ:
Через добавление «ini_set (‘display_errors’, 1);» Я получил ошибку Allowed memory size of 134217728 bytes exhausted
, Так что речь идет о памяти, спасибо за подсказку, как это проверить.
РЕШЕНИЕ:
Основной проблемой оказалось использование циклов foreach. После переключения всех циклов foreach на циклы for использование памяти стало более стабильным.
Чтобы увидеть, что вызывает остановку скрипта, добавьте следующее в верхнюю часть страницы:
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>
ini_set («max_execution_time», 0);
Только в http, если вы используете https, вы должны изменить свой php.ini
Не забудьте перезагрузить ваш веб-сервер.