1

在网上搜索之后,我真的无能为力。我知道这个问题已经被问过好几次了,但没有一个解决方案能解决我的问题。我想知道 curl 错误 60 是否还有其他已知原因:“SSL 证书问题,验证 CA 证书是否正常”。

我已将 CURLOPT_CAINFO 设置为 pem 文件(也尝试过 crt),并且在尝试访问 pem 文件时检查了权限不足。

顺便说一下,这是代码:

$url = 'https://example.com/';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); 
curl_setopt($ch, CURLOPT_CAINFO, "/usr/local/apache2/htdocs/server/html/cacert.pem");

$response = curl_exec($ch);

...do something

curl_close($ch);
4

1 回答 1

-1

你可以试试这个: -

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, **'https://example.com/'**);
// Set so curl_exec returns the result instead of outputting it.
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
// Get the response and close the channel.
$response = curl_exec($ch);
于 2012-12-21T10:33:36.920 回答