解决failed loading cafile stream: `/etc/pki/tls/certs/ca-bundle.crt’



发现



在搭建v2board玩的时候,发现邮件服务出现问题,无法发件,发件服务器用的是gmail谷歌服务,获取了应用安全密码填入后出现这个问题,搜索了一下貌似没有这类的教程,于是自己排查了一下。



处理





首先检查PM2是否正常,然后用命令查看端口是否有问题,我的端口是465,所以用以下命令在ssh中输入:

telnet smtp.gmail.com 465






出现connection closed后感觉是商家关闭了465端口,可以换一个例如25与587,若没出现closed则是可以用来发件的


当我把端口换成587后,发现依然无法发件,进入数据库看邮件日志,发现显示:

failed loading cafile stream: `/etc/pki/tls/certs/ca-bundle.crt'










搜索了一下,解释为php.ini文件的curl.cainfo和openssl.cafile配置属性不允许您创建与 ssl 连接的有效证书时,会发生此错误,解决办法是去以下链接下载一个证书:
https://curl.haxx.se/docs/caextract.html





下载后,将名字改为“ca-bundle.crt”,放进去/etc/pki/tls/certs/路径里面,若没有tls文件夹,则创建一个文件夹放进去即可。


最后测试一下,发现日志不再报错,已解决。



促销: 暂无

提醒: 本博主因不使用Paypal付款被跑路累计26次,建议用Paypal上车


已有 2 条评论

  1. 帅比

    apt install -y ca-certificates || yum install -y ca-certificates || dnf install -y ca-certificates应该就好啦。。

    1. 4usy

      感觉不一样,这个方法试过。缺失证书,应该是证书目录更新换了路径,脚本太老,没更新,所以下载不了证书

添加新评论