Google Php Oauth登录错误找不到系统CA捆绑包

Google Php Oauth登录错误找不到系统CA捆绑包,php,oauth,ssl-certificate,ca,Php,Oauth,Ssl Certificate,Ca,我完全按照示例进行操作,但在 $client->authenticate($_GET['Code']); 正在返回代码值,但不会进行身份验证。错误是 致命错误:未捕获的异常“RuntimeException”,消息为“在任何公用系统位置都找不到系统CA捆绑包”。默认情况下,5.6之前的PHP版本未正确配置为使用系统的CA捆绑包。为了验证对等证书,您需要将磁盘上的路径提供给“验证”请求选项的证书束:。如果您不需要特定的证书捆绑包,那么Mozilla提供了一个常用的CA捆绑包,可以在此处下载(由cU

我完全按照示例进行操作,但在 $client->authenticate($_GET['Code']); 正在返回代码值,但不会进行身份验证。错误是

致命错误:未捕获的异常“RuntimeException”,消息为“在任何公用系统位置都找不到系统CA捆绑包”。默认情况下,5.6之前的PHP版本未正确配置为使用系统的CA捆绑包。为了验证对等证书,您需要将磁盘上的路径提供给“验证”请求选项的证书束:。如果您不需要特定的证书捆绑包,那么Mozilla提供了一个常用的CA捆绑包,可以在此处下载(由cURL的维护人员提供):。一旦磁盘上有可用的CA包,就可以将“openssl.cafile”PHP ini设置设置为指向文件的路径,从而可以省略“verify”请求选项。有关更多信息,请参见第51行的“in/base/data/home/apps/s~solomon-1/1.388711045841969234/google-api-php-client/vendor/guzzlehttp/ringphp/src/client/cliin/base/data/home/apps/s~solomon-1/1.388711045841969234/google-api-php-client/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php”

查看和编写代码您可能需要在设置Google客户端时以及在调用
authenticate()
之前执行以下操作,以指定可以在何处找到证书包:

$client->setHttpClient(new GuzzleHttp\Client(['verify'=>'path\to\your\cert-bundle']));
这将覆盖默认行为,并允许您指定捆绑的位置

您还可以通过将
verify
设置为
false
来测试这是否是正确的方向:

$client->setHttpClient(new GuzzleHttp\Client(['verify'=>false]));

这基本上会告诉curl不要验证主机或对等机。

应用程序引擎Php要求在根目录的Php.ini文件中使用ini行明确启用curl extension=“curl.so”
小心这些版本,混淆了oauth进程集,我发现了一个更新,它只在我认为是最新的下载自述文件中提到。

openssl.cafile=“/solomonchariot\u com/solomonchariot\u com.ca bundle”我已经为几乎每种路径(例如openssl.cafile)尝试了php ini设置=“/solomonchariot\u com/solomonchariot\u com.ca bundle”不,尝试了这两种方法,甚至将verify设置为false,这两种方法都没有在应用程序引擎的默认php中使用curl。我已经尝试在我自己的应用程序上解决这一问题好几个星期了。你是王者。这个方法对我有效:
$client->setHttpClient(new GuzzleHttp\client(['verify'=>'path\to\your\cert bundle']);
很高兴这对某人有所帮助。:-)以下链接中的选项3对我有效()