Actualmente estoy usando file_get_contents() para enviar datos GET a una gran variedad de sitios, pero después de la ejecución de la página me sale este error:alternativa más rápida a file_get_contents()
Fatal error: El tiempo máximo de ejecución de 30 segundos excedieron
Todo lo que realmente quiero que el script haga es comenzar a cargar la página web, y luego irse. Cada página web puede tardar hasta 5 minutos en cargarse por completo, y no es necesario que se cargue por completo.
Esto es lo que tengo actualmente:
foreach($sites as $s) //Create one line to read from a wide array
{
file_get_contents($s['url']); // Send to the shells
}
EDIT: Para aclarar cualquier confusión, este guión está siendo utilizado para iniciar scripts en otros servidores, que devuelven datos.
EDITAR: Estoy tratando de usar cURL para hacer el truco, estableciendo un tiempo de espera de un segundo para enviar los datos y luego detenerlos. Aquí está mi código:
$ch = curl_init($s['url']); //load the urls
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1); //Only send the data, don't wait.
curl_exec($ch); //Execute
curl_close($ch); //Close it off.
Tal vez he configurado la opción incorrecta. Estoy mirando algunos manuales mientras hablamos. Solo te estoy dando una actualización. Gracias a todos ustedes que me están ayudando hasta ahora.
EDITAR: Ah, encontró el problema. Estaba usando CURLOPT_CONNECTTIMEOUT en lugar de CURLOPT_TIMEOUT. Whoops.
Sin embargo, ahora, los scripts no se activan. Cada uno de ellos usa ignore_user_abort (TRUE); entonces no puedo entender el problema
Hah, rayar eso. Funciona ahora Muchas gracias a todos
¿Usted ha intentado usar rizo? –
No, no tengo experiencia con cURL. Quería hacerlo con algo con lo que al menos tengo un poco de experiencia. ¿Crees que debería eliminar esto con php e ir con cURL? – Rob
¿qué hace exactamente la página web? ¿solo quieres que comience un script que debería ejecutarse solo, que no devuelve datos? –