我正在处理解析 (parse.com),当我运行以下命令时,出现了 fatal error 。我正在运行的代码直接取自 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();
最佳答案
有很多重复的问题和一些略有不同的答案。
这不是 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?
关于php - 缺少 SSL 证书?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31775509/