Ubuntu 22.04 LTS 和 Composer curl 错误 60 - SSL 证书问题 : unable to get local issuer certificate

标签 ubuntu ssl curl composer-php ssl-certificate

每当我对基于 Composer 的项目或“诊断”命令使用简单命令(安装/更新)时 composer diagnose -vvv ,我得到错误:

"curl error 60 while downloading https://repo.packagist.org/packages.json: SSL certificate problem: unable to get local issuer certificate"


我已经尝试过:
  • 更新到最新的 Ubuntu (22.04) 并专门使用:
  • sudo apt install ca-certificates --reinstall
    sudo update-ca-certificates -f
    
  • 修复了不匹配的路径,这似乎是最初的问题(参见:How do I deal with certificates using cURL while trying to access an HTTPS url?):
  • sudo mkdir -p /etc/pki/tls/certs
    sudo ln -s /etc/pki/tls/certs/ca-bundle.crt /etc/pki/tls/certs/ca-certificates.crt
    
    事实上,正如预期的那样,诊断结果表明:

    Checked CA file /etc/pki/tls/certs/ca-bundle.crt: valid


  • 重新运行 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
    

    最佳答案

    重新运行composer installer . IIRC 它带有自己的证书存储或至少有一些后备包。
    对于您的操作系统,请使用标准更新程序。

    关于Ubuntu 22.04 LTS 和 Composer curl 错误 60 - SSL 证书问题 : unable to get local issuer certificate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72608643/

    相关文章:

    python - 如何以彩色打印到控制台?

    linux - 无法在 Ubuntu Linux 上启动 Jenkins

    ruby-on-rails - Gitorious Git-daemon Ruby Gem 错误

    ssl - 无法在远程服务器中部署 Worklight 适配器

    php - 数据库信息到Facebook Page Tab? XML 和 curl

    mysql - "chown mysql:mysql/data/tmp"命令

    javascript - tinyMCE ssl/https 文件未加载

    java - 如何在 spring application.properties 中指定我的 ssl keystore 文件的本地文件路径?

    php - 隐藏post参数,phpcurl

    curl - 使用curl下载时如何跳过已经存在的文件?