Open diffnest opened 7 years ago
问题: 项目新上一台WEB机器,在测试过程中,手机端在访问微信API接口时,日志返回502(网关)报错信息,最终定位错误为php程序调用系统curl库导致的问题。
解决方法: 原因是新系统版本RHEL 6.5中CURL安装包默认使用的NSS库,在使用php调用curl的库时存在NSS BUG。
1.确定php是否已经安装扩展curl和openssl
2.新建一个php文件,运行phpinfo。
3.返回curl 7.19.7 libcurl/7.19.7NSS/3.19.1Basic ECC(而不是openssl)
4.centos 6.5默认安装curl调用的ssl库是NSS库,所以需要对Curl进行重新编译
5.去官方下载http://curl.haxx.se/download/archeology/,依然下载是(7.19.7)版本,进行重新编译
./configure --prefix=/usr--without-nss--with-ssl make && make install ldconfig
6.查看版本(显示的就是openssl就可以访问https的网站了)
curl -V curl 7.19.7 libcurl/7.19.7 OpenSSL/1.0.1e
7.重启php进程
#/usr/local/webserver/php/sbin/php-fpm restart
解决方法: 原因是新系统版本RHEL 6.5中CURL安装包默认使用的NSS库,在使用php调用curl的库时存在NSS BUG。
1.确定php是否已经安装扩展curl和openssl
2.新建一个php文件,运行phpinfo。
3.返回curl 7.19.7 libcurl/7.19.7NSS/3.19.1Basic ECC(而不是openssl)
4.centos 6.5默认安装curl调用的ssl库是NSS库,所以需要对Curl进行重新编译
5.去官方下载http://curl.haxx.se/download/archeology/,依然下载是(7.19.7)版本,进行重新编译
6.查看版本(显示的就是openssl就可以访问https的网站了)
7.重启php进程