无法创建Laravel项目报错求助:CurlDownloader.php 372行SSL错误
解决Composer创建Laravel项目时的SSL不安全协商错误
这个错误是因为OpenSSL 3.0及以上版本默认禁用了不安全的旧版SSL协商协议,导致Composer请求Packagist仓库时握手失败。下面是几种可行的解决方法:
临时单次解决
执行创建命令时直接附加SSL参数,强制允许旧版协商:
composer create-project laravel/laravel reward_system -- --with-openssl-allow-legacy-renegotiation=true
全局永久配置
修改Composer全局配置,以后所有Composer命令都会自动应用该设置:
- 找到Composer配置文件:
- Windows:
%APPDATA%\Composer\config.json - Linux/Mac:
~/.composer/config.json
- Windows:
- 如果文件不存在就新建,添加以下内容:
{ "config": { "openssl": { "allow_legacy_renegotiation": true } } } - 保存后重新执行原创建命令即可。
修改系统OpenSSL配置(前两种无效时尝试)
- 找到系统的OpenSSL配置文件:
- Linux/Mac:
/etc/ssl/openssl.cnf - Windows:OpenSSL安装目录下的
openssl.cnf(比如C:\OpenSSL-win64\bin\openssl.cnf)
- Linux/Mac:
- 在文件开头的
[openssl_init]区块下添加:ssl_conf = ssl_sect - 在文件末尾添加以下配置:
[ssl_sect] system_default = system_default_sect [system_default_sect] Options = UnsafeLegacyRenegotiation - 保存配置,重启终端后再执行Composer命令。
内容的提问来源于stack exchange,提问作者Norn Chanda
相关产品推荐
相关产品推荐

