Я делаю запрос с локального веб-сервера (arch linux, php7) на удаленный, который недоступен, потому что эта сеть недоступна. Здесь тайм-аут, как представляется, игнорируется (то есть fsockopen
занимает около 23 секунд для возврата вместо заданного таймаута 5 секунд).Когда тайм-аут в fsockopen недоступен?
$timeout = 5;
$start = time();
dbglog($start . ' timeout ' . $timeout); // 1466081215 timeout 5
$socket = fsockopen($server,$port,$errno, $errstr, $timeout);
$end = time();
dbglog($end . ' socket done in ' . ($end-$start) . ' seconds'); // 1466081238 socket done in 23 seconds
В official doku for fsockopen гласит следующее:
Примечание:
В зависимости от окружения, домен Unix или необязательный таймаут соединения могут быть недоступны.
Однако это все, что касается среды, в которой дополнительный тайм-аут недоступен.
Где я могу найти текущую документацию по этой проблеме?
Это единственное обстоятельство? Я делаю запрос с локального веб-сервера (arch linux, php7) на удаленный, который недоступен, потому что эта сеть недоступна. Здесь тайм-аут также игнорируется. (возможно, я должен исправить вопрос с этой информацией) –
И поделитесь некоторым кодом. Минимальный рабочий пример, содержащий вашу проблему –