>백엔드 개발 >PHP 튜토리얼 >curl数据提交 在nginx中出错

curl数据提交 在nginx中出错

WBOY
WBOY원래의
2016-06-23 14:39:591017검색

请问: 
curl方法数据提交,在apache服务器运行,没有任何问题。 
在nginx服务中,curl_exec($ch)执行结果为false,且只有等到timeout后,该php才会停止执行,否则一直处于刷新状态。 

nginx.conf该怎么配置,才能解决此问题。 谢谢 

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,'http://192.168.247.138:8181/a2.php'); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$data = curl_exec($ch); 
curl_close($ch); 
var_dump($data);
?>


回复讨论(解决方案)

$ch = curl_init(); curl_setopt($ch, CURLOPT_URL,'http://192.168.247.138:8181/a2.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 3);$data = curl_exec($ch); var_dump($data);curl_close($ch); 

看到这么一篇文章,但是不知道该如何设置,请大家指点。 
"苦闷中,想起nginx的一个参数proxy_buffering,它的含义是:nginx不是立即转发收到的请求,而是等buffer满之后再转发。默认是on。把它改成off,使用curl请求nginx抓取xuri就行了,数据是完整的,没有超时。"
http://gcoder.diandian.com/post/2011-05-19/17355206

不知道是否是这个问题,请问我该如何测试: http://www.ioutlier.com/nginx-proxy-buffer-works/

不知道LZ这个问题是怎么解决的!我也遇到了同样的问题!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.