cURL错误:[77]设置证书验证位置错误


cURL error: [77] error setting certificate verify locations

我使用paypal IPN类堂吉诃德- php - paypal -IPN现在,我从paypal收到ipn监听器的通知,我激活了这个类,但是我得到了下一个错误:

exception 'Exception' with message 'cURL error: [77] error setting certificate verify locations:
CAfile: /home/star1231/public_html/cert/api_cert_chain.crt
CApath: none' in /home/star1231/public_html/ipn.php:79
Stack trace:
#0 /home/star1231/public_html/ipn.php(175): IpnListener->curlPost('cmd=_notify-val...')
#1 /home/star1231/public_html/ipn.php(7): IpnListener->processIpn()
#2 {main}

我搜索这个错误,

和我读到我需要安装ca-certificates包,在这个问题中:在尝试访问HTTPS url时,我如何使用cURL处理证书?

我没有经验,我不知道在哪里运行命令,我需要下载什么

所以有人可以告诉我如何在Godaddy上安装Cpanel中的包?

查看:https://github.com/Quixotix/PHP-PayPal-IPN/issues/37

设置$listener->use_curl = FALSE;问题解决了

我不是一个PHP开发人员,我对Linux的帮助不大,但是你应该能够通过彻底复习这两个问题的答案来获得这个工作:

  1. Paypal IPN获得空白确认(应该是"VERIFIED")或" invalidate ")
  2. 我如何处理使用cURL证书,而试图访问HTTPS url?

问题似乎是您的证书颁发机构包,因为meda写:(来源:https://stackoverflow.com/a/26260710/399124)

curl默认执行SSL证书验证证书颁发机构(CA)公钥(CA证书)的"包"。的默认的bundle名为curl-ca-bundle。crt……如果您想关闭curl对证书的验证,请使用-k(或——insecure)选项。

为了验证这是问题,我会尝试将-k或——insecure开关添加到失败的Quixotix-PHP-PayPal-IPN中的代码中。根据堆栈跟踪,它可能在/home/star1231/public_html/ipn.php(175)中。

假设已经修复了它,我们现在需要弄清楚bundle哪里出错了。

/home/star1231/public_html/cert/api_cert_chain.crt的文件是否存在?如果没有,请从(https://raw.githubusercontent.com/Quixotix/PHP-PayPal-IPN/master/cert/api_cert_chain.crt)下载并将其放入文件夹中。

如果在确定文件在正确的位置后仍然出现问题,则可能存在安全问题:

如果没有tls/certs文件夹:创建一个并使用chmod 777 -R folderNAME

修改权限

好吧,如果有人需要解决方案…首先,下载api_cert_chain。crt

(如果此链接不起作用,只需在谷歌搜索"下载api_cert_chain。Crt "之类的)

第二,在你下载这个文件后,把这个文件放到你的ipn监听器所在的cert文件夹中。