Curls Zeitüberschreitung ordnungsgemäß in PHP festlegen
Um längere XML-Antwortzeiten aus einer eXist-Datenbank zu überwinden, wurde eine PHP-Curl-Anfrage implementiert mit einem scheinbar langen Timeout-Wert. Allerdings wurde die Anfrage vorzeitig beendet, bevor sie abgeschlossen war.
Wie in der PHP-Dokumentation beschrieben, bietet Curl zwei unterschiedliche Timeout-Einstellungen:
Für das gegebene Szenario werden die folgenden Codeänderungen empfohlen:
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); // Wait indefinitely for connection establishment curl_setopt($ch, CURLOPT_TIMEOUT, 400); // Set the timeout to 400 seconds
Zusätzlich ist eine Verlängerung unbedingt erforderlich die Ausführungszeit des PHP-Skripts, um einen vorzeitigen Abbruch zu verhindern. Dies kann mit set_time_limit(0) erreicht werden, um eine unendliche Ausführungszeit zu ermöglichen.
set_time_limit(0); // Allow for infinite execution time
Durch die Implementierung dieser Anpassungen wird das Timeout-Verhalten von Curl korrekt konfiguriert, wodurch sichergestellt wird, dass die Anfrage genügend Zeit zum Abschließen hat und gleichzeitig eine vorzeitige Ausführung verhindert wird Kündigung.
Das obige ist der detaillierte Inhalt vonWie kann ich Curl-Timeouts in PHP ordnungsgemäß festlegen, um eine vorzeitige Beendigung von eXist-Datenbankanforderungen zu vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!