php моя бесконечная петля останавливается между 630 и 660 секундами - PullRequest
1 голос
/ 29 июня 2011

Я написал сканер сайта и использую цикл while для сканирования всего веб-сайта, но мой цикл останавливается примерно через 660 секунд.

Я установил set_time_limit (0) и использую flush для вывода на экран и использую функцию сна, я думал, что мой код неверен, но я проверяю простой цикл while в моем коде:

        while ( 1 ) {
        sleep ( 30 );
        echo "Crawling on the go ..." . time ();
        echo "<br />";
        echo str_pad ( " ", 4096 );
        flush ();

    }

Но это так просто, но остановись и через 660 секунд! Я не знаю, в чем моя проблема! Я проверил WHM Process Manager на своем сервере и увидел, что мой процесс убит! я хочу знать, что брандмауэр сервера убивает мой процесс из-за использования процессора или оперативной памяти? Пожалуйста, помогите мне!

Ответы [ 3 ]

1 голос
/ 29 июня 2011

Вам нужно написать set_time_limit(0); вверху страницы после открывающего тега PHP.Это сработало для меня .. Надеюсь, это также сработает и для вас ..

0 голосов
/ 29 июня 2011

Вы также можете поместить следующую строку в ваш .htaccess php_value max_execution_time <timeinseconds>

0 голосов
/ 29 июня 2011

set_time_limit () может быть запрещено (это не имеет никакого эффекта, если PHP находится в safe_mode). Кстати, время сна () не включено в ограничение по времени, поэтому, если вы удалите режим сна и время работы скрипта изменится, вероятно, это ограничение по времени. Чтобы проверить, является ли это ограничение по времени (другой вариант - ограничение по времени ЦП), зарегистрируйте функцию отключения и проверьте состояние соединения (значение 2 означает время ожидания)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...