2
看看下面的PHP代码:谷歌的App Engine(GAE) - PHP卷曲超时被忽略
$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);
对当地GAE环境(我的机器)运行它,我得到以下响应(〜2秒后):
串(43)的 “解决后2529毫秒超时” INT(2)
上GAE远程环境中运行它,我得到以下反应(〜40秒LAT ER):
字符串(34) “无法解析主机 'gmaxil.com'” INT(40)
为什么谷歌应用程序引擎忽略卷曲超时选项?
我猜测它并不会忽略超时 - 因为它不会超时。这只是立即失败。 –
@AlexHowansky但是我为什么在本地和生产环境之间有不同的行为? –
因为本地有DNS工作。远程已破坏立即失败的DNS。 (再次,这是一个猜测...) –