我的PHP Mailgun界面已经工作了2年,直到昨天中旬至中午12点左右 .
现在,对Mailgun API的所有调用都返回SSL证书问题
例外0 [curl] 60:SSL证书问题:无法获得本地颁发者证书[url] https://api.mailgun.net/v2/
尝试访问mailgun API时,Curl也会在命令行返回相同的问题 .
我们从https://curl.haxx.se/docs/caextract.html下载并安装了最新的cacert.pem文件,并在php.ini文件参数curl.cainfo = /path/to/cacert.pem和openssl.cafile = / path / to /中包含了该文件的路径 . cacert.pem
我们重新启动了我们的应用程序并重启了我们的服务器,但问题并没有解决 .
是否有其他人使用PHP Mailgun API遇到同样的问题?有没有办法通过Mailgun API禁用SSL证书检查?
6 回答
通过将最新的cacert.pem文件复制到以下目录来解决PHP Mailgun API的SSL证书问题:.. PHP \ v5.6 \ vendor \ guzzle \ guzzle \ src \ Guzzle \ Http \ Resources \
显然,当调用guzzle和curl接口时,PHP MailGun API将此目录用于证书 . 更改PHP.ini文件参数curl.cainfo =“/ path / to / cacert.pem”不足以解决此问题 .
我们真的需要安装guzzle来解决这个问题吗?我遇到同样的问题 .
我刚刚来到SO自己发布我的团队的决议,我也发现了这个问题 . 由于我们有一个运行Guzzle 4.x的Laravel 4.2网站用于Mailgun邮件传递,所以所有电子邮件都停止运作,正如史蒂夫在1/23左右中午所说的那样 .
对于我们来说,我们只需要更新软件包使用的/ vendor / guzzlehttp目录中的cacert.pem,它就会重新上线 .
我可以确认更新php / curl我的死屁股老 生产环境 服务器解决了这个问题 .
实际上,这应该是足够的:
我修复了这个问题...你只需要更改de“pem”文件里面:guzzle / guzzle / src / Guzzle / Http / Resources /
你需要在这里得到de cacert.pem ...最后一个版本:https://curl.haxx.se/docs/caextract.html
之后,只需更改您的文件夹即可 .
实际上,这不是一个bug;这是出于安全原因 . 为了使它工作,改变
至
您可以在this github issue阅读更多详细信息 .