В моем приложении я использую curl_exe c для вызова API в al oop, и иногда, если в l oop слишком много итераций, это приведет к ошибке превышения максимального времени выполнения. Я использую инструмент профилирования, чтобы получить время выполнения запроса, которое имеет максимальное время выполнения, и обнаружил, что время выполнения действительно было потрачено в основном на curl_exe c (почти 50 секунд из 60 секунд)
Я проверил do c на время выполнения, и там написано
Функция set_time_limit () и директива конфигурации max_execution_time only влияет на время выполнения самого скрипта. Любое время, потраченное на действия, которые происходят за пределами выполнения скрипта, такие как системные вызовы с использованием system (), потоковые операции, запросы к базе данных и т. Д. c. не учитывается при определении максимального времени выполнения сценария. Это не так в Windows, где измеренное время является действительным.
Мне просто интересно, не является ли curl_exe c рассматриваемым как «действие, которое происходит вне выполнения сценария» , Я не знаю основной механизм curl_exe c. Я предполагаю, что это просто делает HTTP-соединения и включает в себя некоторую потоковую операцию. Так почему же он считается временем выполнения?