缺少SSL证书?

时间:2015-08-02 19:02:58

标签: php ssl parse-platform xampp ssl-certificate

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

我在Windows 10上运行XAMPP。

我是否需要通过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();




1 个答案:

答案 0 :(得分:5)

对此有许多重复的问题和一些略有不同的答案。

它不是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?