[英]PHP cURL error 60
是的,我已經看到了很多與此有關的問題,實際上我已經遇到了這個問題,並在去年解決了它。 這次由於某種原因,解決方案(添加https://curl.haxx.se/ca/cacert.pem )不起作用。
服務器(我公司的服務器)是一個node.js應用程序,我注冊了服務器私鑰,服務器crt以及根證書和中間證書(我認為嗎?),名稱分別為DigiCertCA.crt
和TrustedRoot.crt
。 客戶端是建立cURL連接的PHP腳本。 在將cacert.pem添加到php.ini之后,它一直運行良好。 最近,我的公司更新了SSL證書,並且大約在同一時間,客戶端PHP腳本(另一家公司的PHP腳本)從dev移到了生產服務器。 然后SSL再次中斷。
使用chrome(安全的https,未損壞)打開時,網站看起來不錯。 這是PHP腳本,經過簡化以演示該問題。 我嘗試通過php.ini和curl_setopt添加cacert.pem,但沒有成功。 這是在我的本地開發計算機上運行的,該計算機帶有xampp 5.6.3的Windows 10
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://example.com');
curl_setopt($ch, CURLOPT_CAINFO, 'D:/xampp/php/extras/ssl/cacert.pem');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$content = trim(curl_exec($ch));
if (curl_errno($ch)) {
$content = 'ERROR -> ' . curl_errno($ch) . ': ' . curl_error($ch);
}
curl_close($ch);
print $content;
錯誤信息:
60: SSL certificate problem: unable to get local issuer certificate
附加信息:
生產PHP腳本的錯誤消息實際上是不同的,它說
curl: (60) Peer's Certificate issuer is not recognized.
我還嘗試使用curl使用我公司的證書來訪問其他子域,它們都給出相同的錯誤60。在訪問https://twitter.com
可以
我想你有一個錯誤
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
您保持了這一true
,這似乎是問題所在
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.