web-dev-qa-db-fra.com

PHP détection d'erreur de timeout curl

J'utilise curl pour effectuer une requête HTTP comme celle-ci:

$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);

$data = curl_exec($ch);
curl_close($ch);

Comment puis-je vérifier si une erreur s'est produite et s'il s'agissait d'une erreur de temporisation?

28
morteza kavakebi

Utilisez curl_errno()

Code 28 est un timeout.

37
Jason McCreary

vous pouvez vérifier le numéro d'erreur et sa description comme ceci:

// Check if any error occurred
if(curl_errno($ch))
{
    echo 'Curl error: ' . curl_error($ch);
}
2
user7744547