Actualmente, mi multi ejecutivo cURL se detiene si una URL a la que se conecta no funciona, por lo que algunas preguntas:curl_multi_exec se detiene si una URL es 404, ¿cómo puedo cambiar eso?
1: ¿Por qué se detiene? Eso no tiene sentido para mí.
2: ¿Cómo puedo hacer que continúe?
EDIT: Aquí está mi código:
$SQL = mysql_query("SELECT url FROM shells") ;
$mh = curl_multi_init();
$handles = array();
while($resultSet = mysql_fetch_array($SQL)){
//load the urls and send GET data
$ch = curl_init($resultSet['url'] . $fullcurl);
//Only load it for two seconds (Long enough to send the data)
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_multi_add_handle($mh, $ch);
$handles[] = $ch;
}
// Create a status variable so we know when exec is done.
$running = null;
//execute the handles
do {
// Call exec. This call is non-blocking, meaning it works in the background.
curl_multi_exec($mh,$running);
// Sleep while it's executing. You could do other work here, if you have any.
sleep(2);
// Keep going until it's done.
} while ($running > 0);
// For loop to remove (close) the regular handles.
foreach($handles as $ch)
{
// Remove the current array handle.
curl_multi_remove_handle($mh, $ch);
}
// Close the multi handle
curl_multi_close($mh);
`
¿Está llamando curl_multi_exec en un bucle? –
Espera el pescado Publicaré el código – Rob
Publica el código. – Rob