Тайм-аут не работает в PHP Httpful-запрос

У меня http-запрос, и я использую «Httpful Request» для отправки его на PHP.
Я устанавливаю тайм-аут 20 секунд также в запросе следующим образом:

$req = Request::get($Url);
$response = $req->timeoutIn(20)->expectsHtml()->send();

Я ожидал получить исключение после истечения времени ожидания, и я могу обработать исключение. Но я получаю следующую php фатальную ошибку. Почему это так?

Неустранимая ошибка PHP: максимальное время выполнения 30 секунд превышено в
Фар: // C: /CapPortal/cpPortal/source/wordpress/httpful.phar/Httpful/Request.php
по линии 202

2

Решение

Ты можешь использовать set_time_limit ($ секунд) установить этот предел выше, если вам нужно больше времени выполнения. Вы также можете установить его на 0, что означает бесконечность. Предупреждение: Apache (если вы используете с ним php) также может ограничивать время выполнения php.

2

Другие решения

httpful модуль, сам по себе есть метод для установки времени ожидания timeoutIn(),
Таким образом, вы можете добавить этот метод в свой код и установить время ожидания, например, 50 секунд:

$response = $req->timeoutIn(20)->expectsHtml()->timeoutIn(50)->send();

Это прекрасно работает для меня.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector