在生产环境中发出php cURL请求时,出现以下错误:SSL证书问题:证书链中的自签名证书。因为在我的本地计算机上,它可以正常工作。
以下是使用的代码:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
$authorization,
"cache-control: no-cache"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
有人可以帮助我吗?
谢谢。
答案 0 :(得分:0)
就像它说的那样:您正在调用的URL使用一个自签名证书,并且由于自签名证书是不安全的,因此您会收到该错误消息。
如果您对此不安全的连接没问题,可以通过添加CURLOPT_SSL_VERIFYHOST选项忽略该错误。但是,出于安全考虑,您要考虑添加有效的证书。