最近正在安裝 WHMCS localhost 開發環境,程式安裝成功,但許可證一直無法通過,在原廠協助下,來來回回終於找到錯誤原因,就是 Curl 有錯誤,錯誤訊息:
Curl Error: SSL certificate problem: unable to get local issuer certificate
Curl在 WHMCS 中是很重要的,很多API的介接都需要靠它,我已經成功修復錯誤,以下分享修正方法。
修正 unable to get local issuer certificate 錯誤
Step 1. 下載CA憑證
到這個網址下載憑證: Download the certificate bundle.
點紅框處下載,檔名為 cacert.pem
Step 2. 複製檔案到PHP安裝目錄中
雖然可以放在任意位置,單純是因為好找,所以我把它放在PHP安裝目錄中:
C:\php-7\extras\ssl\cacert.pem
Step 3. 確認PHP.ini啟用 mod_ssl 模組
找到 PHP.ini 檔打開它並查找 php_openssl.dll
如果它前面有分號,代表沒有開啟,請將分號移除
;extension=php_openssl.dll
如果 PHP.ini 中沒有查找到 php_openssl.dll 請於空白處,自行加入下方這一行
extension=php_openssl.dll
Step 4. 設定cacert.pem
繼續在 PHP.ini 中查找 curl.cainfo 及 openssl.cafile 這兩行
填入 Step 2 的 cacert.pem 檔案之絕對路徑,和上一個步驟一樣,前方有分號請移除分號,如果找不到這兩行請自行添加
特別注意:目錄斜線跟 Windows 檔案總管的斜線相反,要用左斜線
curl.cainfo="C:/php-7/extras/ssl/cacert.pem" openssl.cafile="C:/php-7/extras/ssl/cacert.pem"
Step 5. 重新啟動服務器
重啟後,重新測試