ホームページ  >  記事  >  php教程  >  PHP file_get_contents 関数のタイムアウトに対するいくつかの解決策

PHP file_get_contents 関数のタイムアウトに対するいくつかの解決策

WBOY
WBOYオリジナル
2016-06-13 12:22:20987ブラウズ

ここでは 2 つの簡単な説明を示します:
1. タイムアウト時間制限を増やす
ここで注意してください: set_time_limit は PHP プログラムのタイムアウトのみを設定し、file_get_contents 関数の読み取りのタイムアウトは設定しません。 URLの時間。
当初、set_time_limit は file_get_contents にも影響を与えるのではないかと考えましたが、テストした結果、無効でした。 file_get_contents の遅延を実際に変更するには、リソース $context のタイムアウト パラメーターを使用できます:

コードをコピー コードは次のとおりです:


$opts = array(
'http'=>array(
'method'=>"GET",
'timeout'=>60,
)
);
$ context = stream_context_create($opts);
$html =file_get_contents('http://www.example.com', false, $context); 🎜>

2. 遅延がある場合は、さらに数回試してください
ネットワークやその他の要因が原因で失敗する場合があります。解決策はありませんが、変更することはできます。プログラムを実行し、何度か再試行してそれでも失敗する場合は諦めます。失敗すると file_get_contents() が FALSE を返すため、次のようにコードを記述します。 >コードをコピーします
コードは次のとおりです:

$cnt=0; while($cnt < 3 && ($str=@file_get_contents('http… '))===FALSE) $cnt

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