1
を実行するのに長い時間を要する場合、私はURLをチェックするため、このコードを持っている:PHP - foreachの次のメンバーへジャンプ
function check_url($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
$headers = curl_getinfo($ch);
curl_close($ch);
return $headers['http_code'];
}
そして、私の配列を:
$urls = array(1,2,3,"AAAA",4,5,6,7,8,9);
(例えばAAAAが200msのを取ります他は4S)
を取り、これは
foreach ($urls as $url) {
check_url("http://www.example.com/" . $url);
}
私のループであり、
質問メンバーごとにタイムアウトを設定するにはどうすればよいですか? チェックメンバが2ms以上かかる場合、次のメンバにジャンプします。
「次のメンバーにジャンプ」と言うと、実際には長い時間がかかるものをスキップ/キャンセルしますか?それとも、次のものに移動しながらそれをアクティブにしておきたいのですか? –
は、 'CURLOPT_CONNECTTIMEOUT'または' CURLOPT_TIMEOUT' – ArtOsi
'CURLOPT_TIMEOUT'または' CURLOPT_TIMEOUT_MS'を最大実行時間に設定できます。 curlが応答を待っているので、ループが長くかかります。 –