set_time_limit () работает в скриптах CLI.
<?php
set_time_limit(1); //in seconds
for (;;);
?>
Через одну секунду возвращается следующее сообщение об ошибке:
PHP Fatal error: Maximum execution time of 1 second exceeded in \
/home/stivlo/test.php on line 4
Изначально я попытался с помощью sleep (), и ограничение по времени не применяется. Как предположил @Jon, использование реальных вычислений подобно бесконечному циклу работает.
Я нашел этот интересный комментарий на странице sleep () PHP:
Примечание. Функция set_time_limit () и директива конфигурации max_execution_time влияют только на время выполнения самого скрипта. Любое время, затрачиваемое на действия, которые происходят вне выполнения сценария, такие как системные вызовы с использованием system (), функция sleep (), запросы к базе данных и т. Д., Не включается при определении максимального времени, в течение которого сценарий был запущен