502 - php-fpm nginx 使用 curl 请求 https 出现 502 错误
PHP版本:5.6.7
Nginx版本:1.8.0
代码如下:
$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);
php-fpm日志:
[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
回复内容:
用php curl请求https的url出现502错误,请求帮忙解决。
PHP版本:5.6.7
Nginx版本:1.8.0
代码如下:
$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);
php-fpm日志:
[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
代码没错呢。。。
遇到一样的问题,整了一上午了.同问~~
重新编译PHP,禁用SQLITE模块。
看起来很荒谬,但是确实是这样。
我之前也遇到这样的奇葩问题,你的PHP编译的有问题,可能和某一个模块冲突了,重新最小编译或者换一台机器试一试
//$return = curl_exec($ch);
$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
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
:
dpkg -S /usr/lib/x86_64-linux-gnu/libcurl.so.4.3.0
同样的问题 微信api https 同样访问不了 MAC brew 安装php
我运行没问题
HTTPS的问题,在fastcgi_pass这个配置的后面加上 fastcgi_param HTTPS on; 应该就可以解决问题
推荐阅读
-
nginx比apache处理静态文件速度快,但是nginx处理大量并发的php请求时,容易出现502错误,频率大概是多少
-
nginx加php-fpm出现502 bad gateway错误的5种解决方法
-
nginx加php-fpm出现502 bad gateway错误的5种解决方法
-
502 - php-fpm nginx 使用 curl 请求 https 出现 502 错误
-
nginx比apache处理静态文件速度快,但是nginx处理大量并发的php请求时,容易出现502错误,频率大概是多少
-
php用file_get_contents和curl请求https页面会报502错误
-
502 - php-fpm nginx 使用 curl 请求 https 出现 502 错误
-
php用file_get_contents和curl请求https页面会报502错误