Heim >Backend-Entwicklung >PHP-Tutorial >Kann ich das Timeout in file_get_contents() erhöhen?

Kann ich das Timeout in file_get_contents() erhöhen?

DDD
DDDOriginal
2024-11-17 09:31:04573Durchsuche

Can I Increase the Timeout in file_get_contents()?

Zeitüberschreitungen in file_get_contents()

Diese Abfrage befasst sich mit Bedenken hinsichtlich Zeitüberschreitungen bei der Verwendung von file_get_contents() zum Abrufen von Daten aus einer Reihe von Links innerhalb eines Schleife, bei der die Verarbeitung jedes Links erheblich länger als 15 Minuten dauern kann.

Hat file_get_contents() eine Zeitüberschreitungseinstellung?

Ja, file_get_contents() hat eine Standardeinstellung Timeout, wie durch die PHP-Konfigurationsoption default_socket_timeout angegeben. Der Standardwert für diese Option beträgt 60 Sekunden (1 Minute).

Wie passe ich den Timeout-Zeitraum an?

Sie können den Timeout-Zeitraum mit einer dieser Methoden ändern :

  • Verwenden von ini_set:
ini_set('default_socket_timeout', 900); // 900 seconds (15 minutes)
  • Verwenden von stream_context_create:
$ctx = stream_context_create([
    'http' => [
        'timeout' => 1200, // 1200 seconds (20 minutes)
    ]
]);

echo file_get_contents('http://example.com/', false, $ctx);

Hinweis: Es ist wichtig zu beachten, dass diese Timeout-Einstellungen für den Verbindungs- und Kommunikationsprozess gelten, nicht für die Dateiverarbeitungszeit des Remote-Servers.

Das obige ist der detaillierte Inhalt vonKann ich das Timeout in file_get_contents() erhöhen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn