• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

502 – php-fpm nginx 使用 curl 请求 https 出现 502 错误

php 搞代码 3年前 (2022-01-25) 43次浏览 已收录 0个评论
文章目录[隐藏]

用php curl请求https的url出现502错误,请求帮忙解决。

PHP版本:5.6.7
Nginx版本:1.8.0

代码如下:

<code>$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'https://www.baidu.co<em style="color:transparent">本@文来源[email protected]搞@^&代*@码网(</em><q>搞代gaodaima码</q>m');curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_TIMEOUT, 10);curl_exec($ch);</code>

php-fpm日志:

<code>[28-Jun-2015 04:04:20] NOTICE: [pool www] child 21701 started[28-Jun-2015 04:07:33] WARNING: [pool www] child 21692 exited on signal 11 (SIGSEGV) after 222.256700 seconds from start[28-Jun-2015 04:07:33] NOTICE: [pool www] child 21735 started</code>

回复内容:

用php curl请求https的url出现502错误,请求帮忙解决。

PHP版本:5.6.7
Nginx版本:1.8.0

代码如下:

<code>$ch = curl_init();curl_setopt($ch, CURLOPT_URL, 'https://www.baidu.com');curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);curl_setopt($ch, CURLOPT_TIMEOUT, 10);curl_exec($ch);</code>

php-fpm日志:

<code>[28-Jun-2015 04:04:20] NOTICE: [pool www] child 21701 started[28-Jun-2015 04:07:33] WARNING: [pool www] child 21692 exited on signal 11 (SIGSEGV) after 222.256700 seconds from start[28-Jun-2015 04:07:33] NOTICE: [pool www] child 21735 started</code>

代码没错呢。。。

遇到一样的问题,整了一上午了.同问~~

重新编译PHP,禁用SQLITE模块。

看起来很荒谬,但是确实是这样。

我之前也遇到这样的奇葩问题,你的PHP编译的有问题,可能和某一个模块冲突了,重新最小编译或者换一台机器试一试

//$return = curl_exec($ch);

<code>    $return = curl_exec ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/600.3.18 (KHTML, like Gecko) Version/8.0.3 Safari/600.3.18");    模拟浏览器 不报502 但是 这是为什么呢~          -------------------------------------------    经过两三个小时 google  百度  无果;又不想重装         看了下 curl -V 既支持 ssl 又支持 https;        由于本人是使用 brew 安装的php56 所以 打算重新装下curl试试;        brew uninstall curl;    brew install curl --with-openssl;         重启 我了个草的 修复了~      总结 curl本身不支持 openssl</code>

https的请求,CURLOPT_SSL_VERIFYPEER 设为 true
不需要加 CURLOPT_SSL_VERIFYHOST,试试看!

你的openssl是不是系统自带的?有的镜像自带的openssl和curl有兼容问题,会体现在php的https请求里,重装一下openssl试试。

Ubuntu 14.04 自己编译的NTS版PHP5.4和PHP7 RC2,带有SQLite扩展,运行楼主的代码,都没有问题.依赖的curl库为libcurl3:amd64 7.35.0-1ubuntu2.5:

<code>dpkg -S /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0</code>

同样的问题 微信api https 同样访问不了 MAC brew 安装php

我运行没问题

HTTPS的问题,在fastcgi_pass这个配置的后面加上 fastcgi_param HTTPS on; 应该就可以解决问题


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:502 – php-fpm nginx 使用 curl 请求 https 出现 502 错误

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址