2
は、次のPHPコードを見て無視されている:ローカルGAE環境(私のマシン)上でそれを実行しているGoogle App Engineの(GAE)PHPのcURLタイムアウト
$start = time();
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://gmaxil.com');
curl_setopt($ch, CURLOPT_USERAGENT, 'Java/1.7.0_60');
curl_setopt($ch, CURLOPT_TIMEOUT, 2);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
$end = time();
var_dump(curl_error($ch));
var_dump($end-$start);
curl_close($ch);
を、私は次の応答(〜を取得し、2秒後に):
文字列(43) "の解決は2529ミリ秒後にタイムアウトした" INT(2)
GAEリモート環境でそれを実行して、私は次の応答(〜40秒緯度を取得しますER):
文字列(34) "のホストを解決できませんでした 'gmaxil.com'" のint(40)
なぜGoogle App EngineがcURLのタイムアウトオプションを無視しているのですか?
私はタイムアウトを無視していないと推測しています。タイムアウトしていないからです。それはちょうどすぐに失敗している。 –
@AlexHowanskyしかし、なぜ私は地元の環境と本番環境の間で行動が違うのですか? –
ローカルはDNSを使用しているためです。リモートが直ちに失敗するDNSが壊れています。 (再び、それは推測です...) –