簡體   English   中英

PHP cURL錯誤60

[英]PHP cURL error 60

是的,我已經看到了很多與此有關的問題,實際上我已經遇到了這個問題,並在去年解決了它。 這次由於某種原因,解決方案(添加https://curl.haxx.se/ca/cacert.pem )不起作用。

服務器(我公司的服務器)是一個node.js應用程序,我注冊了服務器私鑰,服務器crt以及根證書和中間證書(我認為嗎?),名稱分別為DigiCertCA.crtTrustedRoot.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM