Nous avons écrit un script qui extrait des données d'un serveur externe. Si le serveur tombe en panne, nous ne voulons pas que notre serveur attende les données car nous traitons beaucoup de données et nous ne voulons pas qu'il s'enlise. Pour remédier à cela, nous essayons de temporiser nos appels curl s'ils prennent plus de quelques centaines de millisecondes.Comment définir un délai d'expiration sur les appels curl PHP5? Les options CURL publiées ne semblent pas fonctionner
J'ai trouvé de la documentation disant que CURLOPT_TIMEOUT_MS et CURLOPT_CONNECTTIMEOUT_MS devraient être disponibles dans ma version de php et libcurl, mais cela ne semble pas être le cas échéant, même si je mets le timeout à 1ms.
$url = "http://www.cnn.com;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER,0); //Change this to a 1 to return headers
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT_MS, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 1);
$data = curl_exec($ch);
curl_close($ch);
Est-ce que quelqu'un sait ce que nous faisons mal ou d'une autre façon de le faire?