我正在使用firebase php sdk链接,并在Windows 10上的XAMMP服务器上使用Laravel最新版本,但是当我尝试使用上述PHP SDK使用Firebase API时,我会收到此错误。我下载。PEM证书手动但仍无法正常工作
错误
Kreait Firebase Exception ApiException
cURL error 77: error setting certificate verify locations: CAfile: C:xamppapachebincurl-ca-bundle.crt CApath: none (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
Previous exceptions
cURL error 77: error setting certificate verify locations: CAfile: C:xamppapachebincurl-ca-bundle.crt CApath: none (see http://curl.haxx.se/libcurl/c/libcurl-errors.html) (0)
在您的情况下,只需执行此操作
打开您的php.ini文件并更新此
;openssl.cafile=
openssl.cafile="C:xamppapachebincurl-ca-bundle.crt"
对于可能面临此错误的其他人,请遵循以下操作:
这与您的卷发认证有关。采取以下步骤:
前往
http://curl.haxx.se/ca/cacert.pem
。此链接使您(下载)最新的cacert.pem文件。在您当前正在处理的应用程序上使用此命令,以便您知道计算机上多次安装PHP的确切PHP,
php -i | grep 'Configuration File'
。这向您显示了您正在运行的当前应用程序的php.ini文件的确切位置。例如,我的是C:php-7.4.11php.ini
。请注意此位置,因为我们将尽快使用。进入此位置
C:php-7.4.11
IE。在我的情况下,包含php.ini文件的文件夹," extras";(为了清楚起见,我的看起来像C:php-7.4.11extrasssl
)。在此文件夹中,在上面步骤1的新下载的cacert.pem文件中粘贴。右键单击cacert.pem文件,然后从"属性"上解开它。因为它可能会抱怨来自另一台计算机。仍然在此属性部分弹出窗口中,从"安全性"复制新文件位置链接。部分(我的是
C:php-7.4.11extrassslcacert.pem
确保复制您的)。您也可以从文件浏览器标头复制此。转到此位置
C:php-7.4.11php.ini
(这是我的php.ini位置。转到您的位置),然后在您的php.ini文件上更新以下2个字段。; curl.cainfo =
; openssl.cafile =
curl.cainfo ="C:php-7.4.11extrassslcacert.pem"
openssl.cafile="C:php-7.4.11extrassslcacert.pem"
- 重新启动您的XAMPP/WAMP服务器。就我而言,我还重新启动所有其他运行的服务器。
nb:如果未更新curl.cainfo
,您会遇到Curl 60错误。如果openssl.cafile
未更新。
另外,不要忘记在curl.cainfo
和openssl.cafil
E。
;
希望这对某人有帮助。
在我的情况下,使用Mamp Pro我有一个错误:
CURL error: error setting certificate verify locations:
CAfile: /Applications/MAMP/Library/OpenSSL/cert.pem
CApath: none
file/applications/mamp/library/openssl/cert.pem是符合/applications/mamp/library/library/openssl/certsl/certs/cacert.pem
看来该文件在这里,但似乎已损坏或过时。
我从这里下载了新的,然后替换了它。然后它再次起作用。