homebrew安装失败需换清华源并配置权限;php缺pdo需装php@8.2并启用扩展;thinkphp无法启动先查端口、目录及php版本;composer须与brew php绑定,版本不一致会导致autoload.php缺失。

Homebrew安装失败:curl: (7) Failed to connect报错怎么办
MacOS上执行curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh卡住或报curl: (7) Failed to connect,大概率是网络直连GitHub超时。Homebrew官方镜像在国内访问不稳定,不能硬等。
- 改用清华源安装脚本:
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/install.sh - 安装前先确认
git和command line tools已就位,运行xcode-select --install补全(否则安装中途会停) - 如果提示
Permission denied,别直接sudo,而是先mkdir -p /opt/homebrew并chown -R $(whoami) /opt/homebrew(Apple Silicon芯片必须装到/opt/homebrew)
brew install php后ThinkPHP启动报错:Class 'PDO' not found
Homebrew装的PHP默认不带PDO扩展,而ThinkPHP 6+强制依赖PDO和mbstring。这不是ThinkPHP配置问题,是PHP底层缺模块。
- 运行
brew install php@8.2(推荐8.2,8.3部分扩展尚未完全适配) - 装完立刻执行
brew link --force php@8.2,否则php -v仍显示系统自带旧版 - 检查扩展是否启用:
php -m | grep -E "pdo|mbstring",若无输出,编辑$(brew --prefix)/etc/php/8.2/php.ini,取消注释extension=pdo.so和extension=mbstring.so - 重启终端或运行
source ~/.zshrc(或~/.bash_profile),再验证php -m
thinkphp serve命令无法访问localhost:8000
ThinkPHP内置服务器在MacOS上常因端口占用或PHP版本不匹配失败,错误信息多为Failed to listen on 127.0.0.1:8000或空白响应。
- 先查端口是否被占:
lsof -i :8000,若有结果,用kill -9 [PID]干掉 - 确保当前目录是ThinkPHP项目根目录(含
think可执行文件),否则php think serve会报Could not open input file think - 避免用
sudo php think serve——Homebrew PHP无需root权限,加sudo反而可能读不到用户级php.ini - 如仍失败,换用
php -S 127.0.0.1:8000 -t public/手动起服务,绕过ThinkPHP封装逻辑
vendor/autoload.php找不到:composer install报错
MacOS下composer install卡在autoload.php缺失,不是权限问题,而是Homebrew安装的Composer没走对PHP路径,导致composer调用的是系统PHP而非brew装的PHP。
- 运行
which composer,若输出/usr/bin/composer,说明是系统旧版,删掉:sudo rm /usr/bin/composer - 重装Composer:
brew install composer,它会自动绑定当前brew link的PHP版本 - 验证是否生效:
composer --version和php -v的版本号必须一致 - 首次
composer install前,建议先composer config -g repo.packagist composer https://packagist.phpcomposer.com(国内镜像),否则容易超时中断
MacOS上最易被忽略的是PHP版本与Composer的隐式绑定关系——Homebrew每次brew unlink php@x.x都会让Composer“失联”,但错误信息从不直说这点。只要php -v和composer --version对不上,后续所有ThinkPHP命令都大概率失败。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











