执行brew install php@8.3时遇CONNECT_CR_SRVR_HELLO:sslv3握手失败
解决brew安装php@8.3时libzip下载SSL握手失败问题
当执行brew install php@8.3遇到如下SSL握手失败错误时:
==> Downloading https://libzip.org/download/libzip-1.11.3.tar.xz
curl: (35) error:14004410:SSL routines:CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failureError: php@8.3: Failed to download resource "libzip"
Download failed: https://libzip.org/download/libzip-1.11.3.tar.xz
试试下面几种解决办法:
更新brew与curl
先更新brew到最新版本,确保依赖源同步:brew update若本地curl版本过旧不支持新SSL协议,更新curl并配置环境变量:
brew install curl # 根据你的shell类型选择下面一行 echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.zshrc # zsh用户 echo 'export PATH="/usr/local/opt/curl/bin:$PATH"' >> ~/.bash_profile # bash用户 # 生效配置 source ~/.zshrc # 或对应的bash配置文件之后重新运行
brew install php@8.3。手动下载libzip导入brew缓存
- 打开浏览器访问
https://libzip.org/download/libzip-1.11.3.tar.xz,手动下载文件 - 将下载好的文件放到brew缓存目录
~/Library/Caches/Homebrew/downloads/ - 再次执行
brew install php@8.3,brew会优先使用缓存文件。
- 打开浏览器访问
切换brew国内镜像源(针对网络受限环境)
若因网络问题无法连接libzip官方服务器,可切换到国内镜像源:cd "$(brew --repo homebrew/core)" git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git brew update安装完成后如需换回官方源:
cd "$(brew --repo homebrew/core)" git remote set-url origin https://github.com/Homebrew/homebrew-core.git brew update强制curl使用指定TLS版本
部分旧系统curl默认SSL协议不被libzip服务器支持,强制指定TLSv1.2或TLSv1.3:# 先尝试TLSv1.2 echo 'export HOMEBREW_CURL_SSL_VERSION="tlsv1.2"' >> ~/.zshrc source ~/.zshrc brew install php@8.3如果无效,换成TLSv1.3:
echo 'export HOMEBREW_CURL_SSL_VERSION="tlsv1.3"' >> ~/.zshrc source ~/.zshrc brew install php@8.3
内容的提问来源于stack exchange,提问作者Ghassan Barghouti
相关产品推荐
相关产品推荐

