PHP调用微信接口报错

报错信息

image.png

提示:cURL error 35: SSL connect error

排错

检查

目前有一台机器正常,另一台机器不行。
正常的机器:

curl -V
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.27.1 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp 
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
rpm -qa | grep nss
nss-sysinit-3.28.4-4.el6_9.x86_64
openssh-clients-5.3p1-104.el6.x86_64
nss-util-3.28.4-1.el6_9.x86_64
nss-3.28.4-4.el6_9.x86_64
openssl-1.0.1e-30.el6.11.x86_64
nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64
nss-tools-3.28.4-4.el6_9.x86_64
openssl-devel-1.0.1e-30.el6.11.x86_64
nss-softokn-3.14.3-23.3.el6_8.x86_64
openssh-5.3p1-104.el6.x86_64
openssh-server-5.3p1-104.el6.x86_64
rpm -qa | grep curl
libcurl-7.19.7-53.el6_9.x86_64
libcurl-devel-7.19.7-53.el6_9.x86_64
curl-7.19.7-53.el6_9.x86_64
python-pycurl-7.19.0-8.el6.x86_64

异常机器:

curl -V
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.21 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp 
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz
rpm -qa | grep nss
openssh-clients-5.3p1-118.1.el6_8.x86_64
nss-tools-3.28.4-4.el6_9.x86_64
nss_compat_ossl-0.9.6-2.el6_7.x86_64
nss-softokn-freebl-3.14.3-23.3.el6_8.i686
openssl-devel-1.0.1e-57.el6.x86_64
nss-util-3.28.4-1.el6_9.x86_64
nss-3.28.4-4.el6_9.x86_64
openssh-server-5.3p1-118.1.el6_8.x86_64
nss-softokn-freebl-3.14.3-23.3.el6_8.x86_64
openssh-5.3p1-118.1.el6_8.x86_64
openssl-1.0.1e-57.el6.x86_64
nss-sysinit-3.28.4-4.el6_9.x86_64
nss-softokn-3.14.3-23.3.el6_8.x86_64
rpm -qa | grep curl 
libcurl-7.19.7-52.el6.x86_64
curl-7.19.7-52.el6.x86_64
python-pycurl-7.19.0-9.el6.x86_64
libcurl-devel-7.19.7-52.el6.x86_64

测试

之前由于.Net 接口切换到nginx 做负载均衡,导致PHP 以https方式 调用 .Net 接口也报同样的错误,当时查到是由于NSS 的bug 导致,所以升级了NSS 只有就正常了。
现在PHP 使用调用微信接口也报cURL error 35: SSL connect error
现在其中正常的一台,curl -V 之后看到的NSS 是3.27.1
异常的一台是: NSS 3.21

再仔细查看两台机器之间的curl 版本,正常的是curl-7.19.7-53.el6_9.x86_64,异常的是curl-7.19.7-52.el6.x86_64
小版本有区别

解决

yum update curl -y

统一升级到curl-7.19.7-53.el6_9.x86_64

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章