2024 日本 PHP 研討會

執行階段設定

這些函式的行為受 php.ini 中的設定影響。

cURL 設定選項
名稱 預設值 可修改性 更新日誌
curl.cainfo NULL INI_SYSTEM  
有關 INI_* 模式更詳細的資訊和定義,請參閱 設定設定的位置

以下是設定指令的簡短說明。

curl.cainfo 字串

CURLOPT_CAINFO 選項的預設值。這需要是一個絕對路徑。

新增註記

使用者貢獻的註記 3 則註記

knuklus at gmail dot com
3 年前
cURL 錯誤 60:SSL 憑證問題:無法取得本地發行者憑證

在 Windows 本機開發時可能會發生此問題。我使用的是 Windows 10 (x64)

為了修復錯誤,我從 https://curl.haxx.se/docs/caextract.html 下載了 cacert.pem

在 php.ini 中設定以下值

curl.cainfo = "C: \ php-8.0.7 \ extras \ ssl \ cacert.pem"
ajith at pavanathara dot com
4 年前
cURL 錯誤 60:SSL 憑證問題:無法取得本地發行者憑證

當 curl.cainfo 變數設定不正確時,就會出現這個本機開發錯誤。

我在 PHP 版本 7.3.1 中遇到這個問題

為了修復錯誤,我從 https://curl.haxx.se/docs/caextract.html 下載了 cacert.pem

在 php.ini 中設定以下路徑

curl.cainfo="D:\wamp64\bin\php\php7.3.1\extras\ssl\cacert.pem"
openssl.cafile="D:\wamp64\bin\php\php7.3.1\extras\ssl\cacert.pem"

即使新增了路徑並重新啟動 Apache,在 phpinfo() 中,兩個路徑仍然顯示空白。

只有透過專案的 PHP 程式碼設定才能消除錯誤。

對我有用的程式碼範例:-

$guzzle = new \GuzzleHttp\Client(['verify' => 'D:\wamp64\bin\php\php7.3.1\extras\ssl\cacert.pem']);
ajith at pavanathara dot com
4 年前
我在上一則留言中編輯了錯誤的 php.ini 檔案。

即使載入的設定路徑在 WAMP 伺服器的 phpinfo() 中顯示為「D:\wamp64\bin\apache\apache2.4.37\bin\php.ini」,它實際上載入的是「D:\wamp64\bin\apache\apache2.4.37\bin\phpForApache.ini」

一旦我在 phpForApache.ini 中設定了兩個變數,詳細資訊就會顯示在 phpinfo() 中,錯誤也消失了,無需額外的程式碼。
To Top