當我對基于 Composer 的專案或“診斷”命令使用簡單命令(安裝/更新)時composer diagnose -vvv,我會收到錯誤訊息:
“下載https://repo.packagist.org/packages.json時出現 curl 錯誤 60 :SSL 證書問題:無法獲取本地頒發者證書”
我已經嘗試過:
- 更新到最新的 Ubuntu (22.04) 并專門使用:
sudo apt install ca-certificates --reinstall
sudo update-ca-certificates -f
- 修復了不匹配的路徑,這似乎是最初的問題(請參閱:如何在嘗試訪問 HTTPS url 時使用 cURL 處理證書?):
sudo mkdir -p /etc/pki/tls/certs
sudo ln -s /etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/certs/ca-certificates.crt
事實上,正如預期的那樣,診斷結果表明:
檢查 CA 檔案 /etc/pki/tls/certs/ca-bundle.crt:有效
- 重新運行 Composer 安裝程式
更多可能有用的資訊:
Composer version: 2.2.6
PHP version: 8.1.2
PHP binary path: /usr/bin/php8.1
OpenSSL version: OpenSSL 3.0.2 15 Mar 2022
cURL version: 7.81.0 libz 1.2.11 ssl OpenSSL/3.0.2
uj5u.com熱心網友回復:
重新運行作曲家安裝程式。IIRC 它帶有自己的證書存盤或至少有一些后備包。
對于您的作業系統,請使用標準更新程式。
uj5u.com熱心網友回復:
最后設法通過手動替換 ca-bundle.crt 檔案來解決它,在意識到即使是一個簡單的 curl/wget CLI 命令(PHP/Composer 之外)也回傳了相同的錯誤(這是 --no-check- 的原因證書如下):
sudo mv /etc/ssl/certs/ca-bundle.crt /etc/ssl/certs/ca-bundle.crt.backup
sudo wget -O /etc/ssl/ca-bundle.crt https://curl.se/ca/cacert.pem --no-check-certificate
我從以下網址獲得了鏈接:https ://curl.se/docs/caextract.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/492062.html
標籤:ubuntu ssl 卷曲 作曲家-php ssl 证书
上一篇:Ubuntu:oci:找不到命令
