Используя set_time_limit() или max_execution_time, не "действительно" ограничивает ( кроме Windows) время выполнения, потому что, как указано в руководстве PHP:
Примечание:
Функция set_time_limit() и директива конфигурации max_execution_time влияют только на время выполнения scriptсам. Любое время, потраченное на деятельность, которая происходит вне казни из script, например системных вызовов с использованием system(), операций потока, запросы базы данных и т.д. не учитываются при определении максимального время работы script. Это не относится к Windows где измеренное время является реальным.
Решение предлагаемое в комментариях PHP, чтобы иметь "реальное" время выполнения, как то, что я ищу, но я нашел его нечеткий/запутанный.