English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'impostazione del tempo di timeout per l'indirizzo remoto della richiesta PHP, che spiega principalmente i metodi di impostazione del tempo di timeout per le tre funzioni semplici e comuni file_get_contents, fopen, curl. Di solito si consiglia di utilizzare curl, con prestazioni migliori e più efficiente.
1. Impostazione di timeout per la richiesta file_get_contents
$timeout = array( 'http' => array( 'timeout'=>5// Impostare un tempo di timeout, unità in secondi ) ); $ctx = stream_context_create($timeout); $text = file_get_contents("https://it.oldtoolbag.com/",0, $ctx);
2. Impostazione di timeout per la richiesta fopen
$timeout = array( 'http' => array( 'timeout' => 5 // Impostare un tempo di timeout, unità in secondi ) ); $ctx = stream_context_create($timeout); if ($fp = fopen("https://it.oldtoolbag.com/", "r", false, $ctx)) { while( $c = fread($fp, 8192)) { echo $c; } fclose($fp); }
3. Impostazione di timeout per la richiesta CURL
CURL è una libreria di libreria comunemente utilizzata per accedere agli interfacce del protocollo HTTP, con prestazioni elevate e alcune funzionalità di supporto per la concorrenza.
curl_setopt($ch, opt) può impostare alcune impostazioni di timeout, tra cui:
a、CURLOPT_TIMEOUT imposta il numero massimo di secondi che cURL può eseguire.
b、CURLOPT_TIMEOUT_MS imposta il numero massimo di millisecondi che cURL può eseguire.
c、CURLOPT_CONNECTTIMEOUT è il tempo di attesa prima di stabilire la connessione. Se impostato a 0, aspetta infinitamente.
d、CURLOPT_CONNECTTIMEOUT_MS è il tempo di attesa per il tentativo di connessione in millisecondi. Se impostato a 0, aspetta infinitamente. e、CURLOPT_DNS_CACHE_TIMEOUT imposta il tempo di conservazione delle informazioni DNS nella memoria, predefinito a 120 secondi.
$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_TIMEOUT,60); //Basta impostare un numero di secondi curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_USERAGENT, $defined_vars['HTTP_USER_AGENT']);
Questo è tutto il contenuto della soluzione che l'editor vi ha portato per impostare il tempo di scadenza della richiesta remota PHP, spero che riceviate molto supporto e incoraggiamento dalle lezioni~