HTTP 请求默认超时的时间是多少?

对于PHP,HTTP请求被默认为超时的时间是多少?

我使用PECLHTTP扩展来发出HTTP请求,可以在发出请求时设置超时限制,但是如果没有显式指定,我想知道默认值是什么。

我已经搜索了PHP手册,但没有找到结果。

我希望得到确切证据支持的答案,比如链接到相关的手册页面,而不是推测性的建议。我很想知道默认超时实际上是什么,而不仅仅是它可能是什么。我可以猜测这可能是30秒,因为这似乎是一个合理的值,但我找不到任何东西来证实或否认这一点。

I'm quite sure what you're looking for is the default_socket_timeout php.ini option. It appears the default is 60 seconds.

Just for future reference: http://svn.php.net/viewvc/pecl/http/trunk/http_request_api.c?view=markup

If I understood it correctly, the default timeout options values are:

  • timeout = CURLOPT_TIMEOUT_MS | CURLOPT_TIMEOUT = 0 (means "waits indefinitely")
  • connecttimeout = CURLOPT_CONNECTTIMEOUT_MS | CURLOPT_CONNECTTIMEOUT = 3
  • dns_cache_timeout = CURLOPT_DNS_CACHE_TIMEOUT = 60

默认HTTP请求超时时间为30秒