Hacer PHP socket_connect tiempo de espera

Tengo una pequeña aplicación que he creado para analizar la conexión de red. Se ejecuta desde un navegador y se conecta a un servidor local de PHP / Apache. Luego le pide a PHP que envíe un paquete de ping a través de un socket en bruto. El problema es que si el host al que intento hacer ping no está vivo o no responde a los pings, nunca recibimos una respuesta del servidor.

No creo que la solicitud de socket esté activa hasta que se reinicie Apache. Últimamente he estado obteniendo resultados mixtos de mi aplicación y estoy culpando a Apache usando demasiados sockets. Actualmente, he establecido el tiempo de espera de la llamada AJAX y me ha gustado. Pero realmente necesito hacer que PHP haga el tiempo de espera para que no tenga 500,000 sockets abiertos para un host inalcanzable.

Algunos ejemplos de código:

$sockconn = @socket_connect($socket, $target, null);
if(!$sockconn)
{
    $raw['error'] = socket_strerror(socket_last_error());
    $raw['status'] = false;
    return $raw;
}

Esta es la función que no va a expirar. Necesito que se agote el tiempo. Además, el tiempo de ejecución del script PHP NO afecta a los sockets.

Soy despistado

Respuestas a la pregunta(2)

Su respuesta a la pregunta