Donc, j'essaie d'obtenir le fichier xml avec curl à partir de l'URL. Chose est, le fichier est généré à la demande via un script, ce qui prend jusqu'à 80-100 secondes et donc mon curl est tombé avec erreur de timeout.Curl timeout lors du téléchargement de xml
url ressemble à quelque chose comme ceci:
https://domain/mancgi/report?params&out=xml
J'ai essayé de mettre CURLOPT_TIMEOUT
et CURLOPT_CONNECTTIMEOUT
, et aussi set_time_limit()
pour lui-même scénario (qui fonctionne très bien), mais rien n'a changé - toujours temps mort.
Code Curl ressemble à ceci:
set_time_limit(1000);
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, 0);
curl_setopt($curl, CURLOPT_TIMEOUT, 300);
$xml = curl_exec($curl);
quelqu'un a des idées?
Vous avez besoin d'augmenter la limite d'exécution de temps de script de configuration du serveur. –
Quel genre de timeout obtenez-vous et comment le savez-vous? Fournir des détails s'il vous plaît – Ranty
Le temps d'exécution est remplacé par set_time_limit() en fonction de phpinfo(), mais même si ce n'est pas le cas - par défaut, il est fixé à 180 secondes, ce qui est suffisant. – user976258