Ustaw czas oczekiwania socket_connect na PHP
Mam małą aplikację, którą stworzyłem do analizy połączenia sieciowego. Działa z przeglądarki i łączy się z lokalnym serwerem PHP / Apache. Następnie prosi PHP o wysłanie pakietu ping przez gniazdo surowe. Problem polega na tym, że jeśli host, którego próbuję pingować, nie żyje lub nie odpowiada na pingi, nigdy nie otrzymamy odpowiedzi z serwera.
Wierzę, że prośba o gniazdo działa, dopóki apache nie zostanie ponownie uruchomiony. Ostatnio otrzymywałem różne wyniki z mojej aplikacji i obwiniam apache za pomocą zbyt wielu gniazd. Obecnie ustawiłem limit czasu połączenia AJAX i byłem z niego zadowolony. Ale naprawdę potrzebuję, aby PHP wykonało limit czasu, aby nie mieć 500 000 gniazd otwartych dla nieosiągalnego hosta.
Przykładowy kod:
$sockconn = @socket_connect($socket, $target, null);
if(!$sockconn)
{
$raw['error'] = socket_strerror(socket_last_error());
$raw['status'] = false;
return $raw;
}
To jest funkcja, która nie wygasa. Muszę go przerwać. Również czas wykonania skryptu PHP NIE wpływa na gniazda.
Nie mam pojęcia.