当前位置:   article > 正文

php curl post 超时设置,在PHP中设置curl的超时参数(timeout)

php curl timeout

如下:

我通过php在一个已经建好的数据库上发起curl请求.这个数据库非常庞大,因此它始终需要很长时间返回XML响应.为了解决这个问题,我准备了一个应该有长超时时间的curl请求.

$ch = curl_init();

$headers["Content-Length"] = strlen($postString);

$headers["User-Agent"] = "Curl/1.0";

curl_setopt($ch, CURLOPT_URL, $requestUrl);

curl_setopt($ch, CURLOPT_HEADER, false);

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

curl_setopt($ch, CURLOPT_USERPWD, 'admin:');

curl_setopt($ch,CURLOPT_TIMEOUT,1000);

$response = curl_exec($ch);

curl_close($ch);

然而这个curl请求始终在请求完成前终止(通过浏览器请求时不到1秒),有没有人知道在curl中,这是否是一个合适的方法?

回答:¶

看文档: http://www.php.net/manual/en/function.curl-setopt.php

CURLOPT_CONNECTTIMEOUT -尝试连接时等待的秒数,输入0不需要等待.

CURLOPT_TIMEOUT -允许curl函数执行的最大秒数.

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,0);

curl_setopt($ch, CURLOPT_TIMEOUT, 400); //timeout in seconds

不要忘了增加php脚本本身的执行时间:

set_time_limit(0);// to infinity for example

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/384101
推荐阅读
相关标签
  

闽ICP备14008679号