このコードは常に(すなわち、$result
ブールfalse
である)の失敗:カール・タイムアウトは1000ms未満では常に失敗しますか?
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $path);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$curl_version = curl_version();
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 999);
$result = curl_exec($ch);
curl_close($ch);
このコードは常に(すなわち、$result
がヘッダを含む文字列である)成功:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $path);
curl_setopt($ch, CURLOPT_HEADER, TRUE);
curl_setopt($ch, CURLOPT_NOBODY, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$curl_version = curl_version();
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT_MS, 1000);
$result = curl_exec($ch);
curl_close($ch);
唯一の違いは、ということですタイムアウトを999msから1000msに変更しました。
これは、カールのバグか、私は逃した接続タイムアウトのドキュメントにおける最小のいくつかの並べ替えのどちらかでなければなりません。どちらですか?私のお金は後者です。
うわー、どのように私はそれを逃しました! – Trott
[OK]を、あなたは私を与えることができるすべてのヘルプは、おかげでいただければ幸い1000よりも、私は、マニュアルでこれを見たが、私は実際にそれが何を意味するのか理解していないとどのように私は、これは小さな値で動作するようにすることができます! –
'--enable-threaded-resolver'を使ってlibcurlをコンパイルしてから、phpのcurl拡張子をコンパイルしてコンパイルする必要があります。 –