#php #time
#php #время
Вопрос:
у меня этот бесконечный цикл while в моем php-скрипте выполняется каждую секунду, но я в конечном итоге остановлюсь. Я пытался изменить значение или закомментировать максимальное время выполнения из php.ini или даже установить set_time_limit (9999); в моем php-скрипте, и я все еще останавливаюсь через неожиданное время, несколько секунд или минуту! где еще я могу установить это ограничение по времени для поддержки бесконечного времени цикла?
Комментарии:
1. Имейте в виду, PHP не был предназначен для работы в течение длительного времени. Вы можете получить неожиданные утечки памяти. У меня был опыт работы с PHP-скриптом, который долгое время работал нормально, а затем внезапно потреблял всю доступную память на компьютере, блокируя сервер.
Ответ №1:
Запустите ваш скрипт из командной строки.
Ответ №2:
<?php
while (true) {
set_time_limit(10); // 10 seconds allowed to reach next iteration
usleep(1000);
}
Должно работать просто отлично? Также проверьте потребление памяти. Включите протоколирование ошибок, чтобы вы могли видеть, останавливается ли ваш скрипт из-за ошибки…
Ответ №3:
Какой веб-сервер вы используете? Если вы запускаете его на удаленном хостинге, это может быть проблема с веб-сервером внешнего интерфейса, таким как lighttpd. В этой ситуации решения нет.