我在laravel做项目。我正在使用plivo api发送短信。为此我遵循了
中提到的所有步骤https://www.plivo.com/docs/getting-started/send-a-single-sms/。
但是当我尝试运行我的php文件时,我收到错误消息
"致命错误:未捕获的异常' GuzzleHttp \ Exception \ RequestException'消息' cURL错误60:SSL证书问题:证书链中的自签名证书(请参阅http://curl.haxx.se/libcurl/c/libcurl-errors.html)'在G:\ Xampp \ htdocs \ plivoTrial \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php:187堆栈跟踪:#0 G:\ Xampp \ htdocs \ plivoTrial \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory .php(150):GuzzleHttp \ Handler \ CurlFactory :: createRejection(Object(GuzzleHttp \ Handler \ EasyHandle),Array)#1 G:\ Xampp \ htdocs \ plivoTrial \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php (103):GuzzleHttp \ Handler \ CurlFactory :: finishError(Object(GuzzleHttp \ Handler \ CurlHandler),Object(GuzzleHttp \ Handler \ EasyHandle),Object(GuzzleHttp \ Handler \ CurlFactory))#2 G:\ Xampp \ htdocs \ plivoTrial \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlHandler.php(43):GuzzleHttp \ Handler \ CurlFactory :: finish(Object(GuzzleHttp \ Handler \ CurlHandler),Object(GuzzleHttp \ Handler \ EasyHandle),Object(GuzzleHttp \ Handler) \ CurlFactory))#G G:\ Xampp \ htdocs \ plivoTria位于G:\ Xampp \ htdocs \ plivoTrial \ vendor \ guzzlehttp \ guzzle \ src \ Handler \ CurlFactory.php第187行"。
我的php文件看起来像,
<?php
require 'vendor/autoload.php';
use Plivo\RestAPI;
$auth_id = "xxxxxxxxxxxxx";
$auth_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$p = new RestAPI($auth_id, $auth_token);
// Set message parameters
$params = array(
'src' => 'xxxxxxxxxxx',
'dst' => '91xxxxxxxxxx',
'text' => 'Hi, I am Amarja :)',
'url' => 'http://localhost/untitled/sentsms.php',
'method' => 'POST'
);
// Send message
$response = $p->send_message($params);
echo "Response : ";
print_r ($response['response']);
echo "<br> Api ID : {$response['response']['api_id']} <br>";
echo "Message UUID : {$response['response']['message_uuid'][0]} <br>";
?>
我没有得到如何解决这个问题。请提前帮助和许多。
答案 0 :(得分:1)
请勿停用SSL
相反,修复您的PHP安装。
These directions在Windows上为我工作。
当您的CA根证书丢失或过期时,会出现此问题。由于目前 ALL Windows平台PHP安装程序不在分发中包含CA根证书,因此在Windows上比在Linux上更常见。
以下是更新CA根证书的方法:
[curl]
,然后更新或添加以下行:curl.cainfo=c:\xampp\php\cacert.pem
Curl现在有一个有效的CA根证书捆绑包,可以验证远程服务器的SSL证书。
如果您在Windows计算机上运行任何Google Cloud Platform PHP examples,则会收到以下cURL错误:CURLE_SSL_CACERT (60) - 无法使用已知的CA证书对对等证书进行身份验证。现在该错误应该是不言自明的,以及如何解决它。