ホームページ >バックエンド開発 >PHPの問題 >PHPでタイムアウトを設定する方法

PHPでタイムアウトを設定する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-09-07 09:46:4511396ブラウズ

php でタイムアウト時間を設定する方法: まず php.ini 設定ファイルを開き、次に [max_execution_time=30] を [max_execution_time=600] に変更します。サーバー変更権限がない場合は、ini_set() 関数を使用してタイムアウトを設定することもできます。

PHPでタイムアウトを設定する方法

初期設定スクリプト実行時間

(推奨チュートリアル: phpビデオチュートリアル)

開くphp.ini ファイルの検索:

max_execution_time=30

変更:

max_execution_time=600

サーバー変更権限がない場合は、組み込みの PHP スクリプト メソッドを使用してタイムアウトを設定できます。長期的な操作を実行する必要がある場合は、次のコードをファイルに追加します:

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

.htaccess ファイルを使用してタイムアウトを設定し、次のコードをファイルに追加することもできます:

php_value max_execution_time 600

PHP がタイムアウトを設定するためにリモート アドレスをリクエストするメソッド:

1, 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) 主に次のようないくつかのタイムアウト設定を設定できます。

a、CURLOPT_TIMEOUT は、cURL が実行できる最大秒数を設定します。 。

b. CURLOPT_TIMEOUT_MS は、cURL の実行が許可される最大ミリ秒数を設定します。

c. CURLOPT_CONNECTTIMEOUT 接続を開始するまでの待機時間 0 に設定すると、無期限に待機します。

d. CURLOPT_CONNECTTIMEOUT_MS 接続試行を待機する時間 (ミリ秒単位)。 0 に設定すると、無限に待機します。

e. CURLOPT_DNS_CACHE_TIMEOUT は、DNS 情報をメモリに保存する時間を設定します (デフォルトは 120 秒)。

$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;]);

プログラミングについてさらに詳しく知りたい場合は、php training 列に注目してください。

以上がPHPでタイムアウトを設定する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。