Heim >Backend-Entwicklung >PHP-Problem >So legen Sie ein Timeout in PHP fest

So legen Sie ein Timeout in PHP fest

coldplay.xixi
coldplay.xixiOriginal
2020-09-07 09:46:4511396Durchsuche

So legen Sie die Timeout-Zeit in PHP fest: Öffnen Sie zuerst die Konfigurationsdatei php.ini und ändern Sie dann [max_execution_time=30] in [max_execution_time=600]. Wenn Sie nicht über die Berechtigung zum Ändern des Servers verfügen, können Sie das Timeout auch mit der Funktion ini_set() festlegen. 🔜 Änderungsberechtigungen können Sie das Timeout über die integrierte PHP-Skriptmethode festlegen und den folgenden Code zur PHP-Datei hinzufügen, die für die Ausführung langfristiger Vorgänge erforderlich ist:

max_execution_time=30
Sie können das Timeout auch über die .htaccess-Datei festlegen und hinzufügen Fügen Sie der Datei den folgenden Code hinzu:

max_execution_time=600
So legen Sie ein Timeout in PHP fest

PHP-Anfragemethoden zum Festlegen des Zeitlimits für die Remote-Adresse:

1. file_get_contents Zeitlimiteinstellung anfordern

<?phpini_set(&#39;max_execution_time&#39;, 600);//秒为单位,自己根据需要定义

2 /code>Anforderungs-Timeout-Einstellung

php_value max_execution_time 600

3. curlAnforderungs-Timeout-Einstellung

CURL ist eine häufig verwendete Bibliothek für den Zugriff auf die HTTP-Protokollschnittstelle. Sie verfügt über eine hohe Leistung und einige Funktionen zur Unterstützung der Parallelität . curl_setopt($ch, opt) Sie können einige Timeout-Einstellungen festlegen, hauptsächlich einschließlich:

a, CURLOPT_TIMEOUT legt die maximale Anzahl von Sekunden fest, die cURL ausführen darf. file_get_contents 请求超时设置

$timeout = array(
&#39;http&#39;=> array(
&#39;timeout&#39;=>5//设置一个超时时间,单位为秒
)
);
$ctx = stream_context_create($timeout);
$text = file_get_contents("https://www.jb51.net/",0, $ctx);

2、fopen 请求超时设置

$timeout = array(
&#39;http&#39; => array(
&#39;timeout&#39; => 5 //设置一个超时时间,单位为秒
)
);
$ctx = stream_context_create($timeout);
if ($fp = fopen("https://www.jb51.net/", "r", false, $ctx)) {
while( $c = fread($fp, 8192)) {
echo $c;
}
fclose($fp);
}

3、curl请求超时设置

CURL 是常用的访问HTTP协议接口的lib库,性能高,还有一些并发支持的功能等。

curl_setopt($ch, opt)b, CURLOPT_TIMEOUT_MS Legen Sie die maximale Anzahl von Millisekunden fest, die cURL ausführen darf.

c. CURLOPT_CONNECTTIMEOUT ist die Wartezeit, bevor eine Verbindung hergestellt wird. Wenn es auf 0 gesetzt ist, wird es auf unbestimmte Zeit warten.

d, CURLOPT_CONNECTTIMEOUT_MS Die Zeit, die auf einen Verbindungsversuch gewartet wird, in Millisekunden. Wenn auf 0 gesetzt, unendlich warten.

d, CURLOPT_DNS_CACHE_TIMEOUT legt die Zeit fest, die DNS-Informationen im Speicher speichert. Der Standardwert beträgt 120 Sekunden.

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT,60);  //只需要设置一个秒的数量就可以
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars[&#39;HTTP_USER_AGENT&#39;]);

Wenn Sie mehr über das Programmieren erfahren möchten, achten Sie bitte auf die Rubrik

php-Schulung

!

Das obige ist der detaillierte Inhalt vonSo legen Sie ein Timeout in PHP fest. 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