缺少 SSL 证书?

SSL certificates missing?

我正在搞乱解析 (parse.com),当我 运行 以下内容时,我得到了一个致命错误。我 运行ning 的代码直接取自 parse.com 对 PHP SDK 的介绍。

我 运行宁 XAMPP Windows 10.

我是否需要通过 https 运行 我的脚本,或者我真的在某处缺少一些 SSL 证书吗?我如何让它工作?

错误:

Fatal error:  Uncaught exception 'Parse\ParseException' with message 'SSL certificate problem: unable to get local issuer certificate' in C:\xampp\htdocs\project\assets\php\vendor\parse\php-sdk\src\Parse\ParseClient.php:284
Stack trace:
#0 C:\xampp\htdocs\project\assets\php\vendor\parse\php-sdk\src\Parse\ParseObject.php(1037): Parse\ParseClient::_request('POST', '/1/classes/Test...', NULL, '{"foo":"bar"}', false)
#1 C:\xampp\htdocs\project\assets\php\vendor\parse\php-sdk\src\Parse\ParseObject.php(947): Parse\ParseObject::deepSave(Object(Parse\ParseObject), false)
#2 C:\xampp\htdocs\project\assets\php\test.php(15): Parse\ParseObject->save()
#3 {main}
  thrown in C:\xampp\htdocs\project\assets\php\vendor\parse\php-sdk\src\Parse\ParseClient.php on line 284

以及 PHP 片段:

require("./vendor/autoload.php");

use Parse\ParseClient;

ParseClient::initialize('secret', 'reallysecret', 'ubersecret');

use Parse\ParseObject;

$testObject = ParseObject::create("TestObject");
$testObject->set("foo", "bar");
$testObject->save();

这里有很多重复的问题,有些答案也略有不同。

这不是 parse.com 问题,而是您的本地 PHP 配置不正确。

一个是禁用curl的SSL验证,这是不好的。 另一种是在 php.ini.

中设置正确的证书路径

您可以下载 http://curl.haxx.se/ca/cacert.pem 到 cacert.pem 文件。 在你的 php.ini 中设置

curl.cainfo = "c:/youroflder/cacert.pem"

不保证此 cacert.pem 文件是安全的,但您可以使用不同的工具生成自己的文件。

有用的回答:How can I set CURLOPT_CAINFO globally for PHP on Windows?