PHP CURL GET HTTPS報錯SSL certificate problem: unable to get local issuer certificate
阿新 • • 發佈:2018-12-28
請求HTTP
使用php curl
獲取http
資源,不會報錯。
如下:
<?php
// 建立curl資源
$ch = curl_init();
// 設定url
curl_setopt($ch, CURLOPT_URL, "baidu.com");
// 將Transfer作為字串返回
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 執行並輸出
$output = curl_exec($ch);
// 檢視錯誤
$error = curl_error($ch);
echo $error;
// 釋放curl資源
curl_close($ch );
請求HTTPS
但是如果請求HTTPS
的時候,預設會報錯:
SSL certificate problem: unable to get local issuer certificate
這是因為HTTPS需要證書認證,如果本地沒有裝,就會報這個錯誤,我們可以把這個認證關掉。
<?php
// 建立curl資源
$ch = curl_init();
// 設定url
curl_setopt($ch, CURLOPT_URL, "https://github.com/search?q=react");
// 將Transfer作為字串返回
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// 關閉SSL驗證
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
// 執行並輸出
$output = curl_exec($ch);
// 檢視錯誤
$error = curl_error($ch);
echo $error;
// 釋放curl資源
curl_close($ch);