Когда тайм-аут в fsockopen недоступен?

Я делаю запрос от локального веб-сервера (arch linux, php7) к удаленному, который недоступен, потому что эта сеть недоступна. Здесь тайм-аут, по-видимому, игнорируется (т.е. fsockopen для возврата требуется около 23 секунд вместо заданного времени ожидания 5 секунд).

$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

официальный доку для fsockopen заявляет следующее:

Заметка:

В зависимости от среды домен Unix или дополнительное время ожидания подключения могут быть недоступны.

Однако это все, что касается среды, в которой необязательный таймаут недоступен.

Где я могу найти текущую документацию по этому вопросу?

0

Решение

Это зависит от типа сокета. Для локального сокета Unix тайм-аут не имеет большого смысла, так как все происходит в процессе<-kernel-> процесс. Между ними нет неизвестных сетей. Так что либо это не удастся, либо это удастся. Но время, которое требуется, зависит от нагрузки на сервер.

0

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

Других решений пока нет …

По вопросам рекламы [email protected]