php curl 浏览器访问 https 为空,curl 错误代码 77

在curl请求一个HTTPS网站时,返回内容为空,命令行执行访问正常,curl_error没有返回错误信息,curl_errno返回错误码为77。这种情况是因为服务器本地的ca证书有问题。需要安装一遍即可。

  1. 安装证书
1
yum install ca-certificates

2.重启php-fpm

1
> service php-fpm restart

ps: 如果存在以下报错,说明php-fpm为注册成系统服务。

1
2
Redirecting to /bin/systemctl restart php-fpm.service
Failed to restart php-fpm.service: Unit not found.

解决:
查询php-fpm 的pid:

1
2
3
4
5
6
7
> ps -aux |grep php

root 786 0.0 0.6 238024 6584 ? Ss 2019 3:40 php-fpm: master process (/usr/local/etc/php/php-fpm.conf)
nginx 11569 0.0 1.3 322920 13372 ? S 1月29 0:43 php-fpm: pool www
nginx 11614 0.0 1.3 322972 13452 ? S 1月29 0:29 php-fpm: pool www
nginx 18184 0.0 1.2 322852 13120 ? S 1月31 0:16 php-fpm: pool www
root 23325 0.0 0.0 112728 972 pts/0 R+ 00:57 0:00 grep --color=auto php

执行:

1
2
> kill -USR2 786   # 重启
> kill INT/TERM 786 # 关闭

3.完成

成功解决问题

php curl 浏览器访问 https 为空,curl 错误代码 77

https://xxxy.xyz/post/php-curl-https-error-code-77/

作者

MartialBE

发布于

2020-02-03

更新于

2020-02-03

许可协议

评论