PHP cURL - 限制执行时间
PHP cURL - limit execution time
我们正在使用网络服务,但有时它们不响应,响应时间太长。
如果超过 1 秒,如何停止 cURL?
我试过了:
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
我还尝试在我的服务器和网络服务之间创建一个 "temporary page":我的服务器调用一个临时页面:
set_time_limit(1);
ini_set('max_execution_time', 1);
并且这个临时页面使用 curl 调用了 web 服务本身,但仍然没有。如果我的网络服务执行时间为 10 秒,我将不得不等待 10 秒。
有什么想法吗?
有最佳解决方案。
Setting Curl's Timeout in PHP
查看文档:http://www.php.net/manual/en/function.curl-setopt.php
CURLOPT_CONNECTTIMEOUT - The number of seconds to wait while trying to connect. Use 0 to wait indefinitely.
CURLOPT_TIMEOUT - The maximum number of seconds to allow cURL functions to execute.
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 400); //timeout in seconds
另外不要忘记扩大 php 脚本自身的执行时间:
set_time_limit(0); // to infinity for example
我们正在使用网络服务,但有时它们不响应,响应时间太长。
如果超过 1 秒,如何停止 cURL?
我试过了:
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
我还尝试在我的服务器和网络服务之间创建一个 "temporary page":我的服务器调用一个临时页面:
set_time_limit(1);
ini_set('max_execution_time', 1);
并且这个临时页面使用 curl 调用了 web 服务本身,但仍然没有。如果我的网络服务执行时间为 10 秒,我将不得不等待 10 秒。
有什么想法吗?
有最佳解决方案。
Setting Curl's Timeout in PHP
查看文档:http://www.php.net/manual/en/function.curl-setopt.php
CURLOPT_CONNECTTIMEOUT - The number of seconds to wait while trying to connect. Use 0 to wait indefinitely.
CURLOPT_TIMEOUT - The maximum number of seconds to allow cURL functions to execute.
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0);
curl_setopt($ch, CURLOPT_TIMEOUT, 400); //timeout in seconds
另外不要忘记扩大 php 脚本自身的执行时间:
set_time_limit(0); // to infinity for example