В одном из моих сценариев я установил завиток, CURLOPT_CONNECTTIMEOUT_MS, до 3000 мс, но время завивки намного раньше, чем в среднем, в среднем 1000 мс. Почему это так рано?
Я считаю, что тайм-аут, который вы видите, – это тайм-аут операции CURL, а не таймаут соединения. Эти две разные.
CURLOPT_TIMEOUT
(и CURLOPT_TIMEOUT_MS
для миллисекундных значений) управляет таймаутом для работы CURL после его подключения. CUROPT_CONNECTTIMEOUT
(и CUROPT_CONNECTTIMEOUT_MS
) управляет таймаутом для первоначального подключения (поиск DNS, установление соединения и т. Д.)
Если я прав, то если вы установили CURLOPT_TIMEOUT выше 1, вы должны обнаружить, что ваш тайм-аут больше не срабатывает при 1000 мс.
Проверьте версию установки CURL и PHP. CURLOPT_CONNECTTIMEOUT_MS добавлено в cURL 7.16.2. Доступно с PHP 5.2.3. http://php.net/manual/en/function.curl-setopt.php