当Composer程序安装开始时出现此错误:
Composer 安装程序脚本未成功 [退出代码 1]。
OpenSSL 失败并出现“证书验证失败”错误。这 表明您的证书颁发机构文件有问题 系统,该系统要么无法找到,要么可能已过时。
脚本输出:“https://getcomposer.org/versions”文件无法 下载:SSL 操作失败,代码为 1. OpenSSL 错误 消息:错误:1416F086:SSL 例程:tls_process_server_certificate:证书验证失败 无法启用加密无法打开流:操作失败
我已经在互联网上寻找了一些解决方案,例如删除;在 php.ini 文件中,但到目前为止还没有解决方案。
在 Windows 上 - 在公司防火墙/代理等后面
使用 Composer 的官方安装说明。
php -r "copy('http://getcomposer.org/installer', 'composer-setup.php');"
使用 http://getcomposer.org/installer 而不是 https://getcomposer.org/installer 来避免 SSL 验证
// Removed the validation line -> php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
修改
php composer-setup.php
并添加 --disable-tls
以禁用 ssl 验证。执行为 php composer-setup.php --disable-tls
。也可以修改文件直接将 $uriScheme = $this->disableTls ? 'http' : 'https';
替换为 $uriScheme = 'http';
然后继续其他安装步骤。
php composer-setup.php
php -r "unlink('composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"