最稳妥路径是用brew装PHP再用pecl装Swoole:先确认php -v和php --ini指向brew或MAMP的PHP而非系统自带,再执行pecl install swoole;若报错需检查OpenSSL路径、xcode-select及php.ini扩展配置。

装不上 Swoole,90% 不是 Swoole 的问题,而是你正在用 macOS 自带的 /usr/bin/php —— 它没 phpize、没头文件、不支持 pecl,硬装必失败。先确认你用的是 Homebrew 或 MAMP 装的 PHP,再动手。
怎么确认当前 PHP 是不是 Homebrew 装的
终端执行:which php → 如果输出是 /opt/homebrew/bin/php(Apple Silicon)或 /usr/local/bin/php(Intel),OK;
如果输出 /usr/bin/php,立刻停手,别试 pecl install swoole 了。
再补一刀验证:php --ini,看 Loaded Configuration File 路径里有没有 homebrew 或 MAMP 字样。没有?就是系统 PHP。
Homebrew 用户:装 PHP + Swoole 的最小可行路径
确保已装 Homebrew(没装就先跑:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)")。然后按顺序执行:
部署和使用军舰的 macOS Automator 自动化服务集合。包含 5 个实用工作流:PDF转JPG、PNG重命名并转JPG、图像拼接、解压RAR、顺序命名图像文件。一键安装所有服务到 ~/Library/Services/ 目录。使用场景:(1) "安装我的自动化服务",(2) "部署所有 Automato...
-
brew install php(默认装最新稳定版,如 PHP 8.3) -
brew install openssl(Swoole 启用 HTTPS/HTTP2 必需) pecl install swoole
过程中会提示几个选项,建议这样选:enable sockets support? [no] : yesenable openssl support? [no] : yes--with-openssl-dir= 后面填你的 OpenSSL 路径:
Apple Silicon:/opt/homebrew/opt/openssl
Intel:/usr/local/opt/openssl
常见报错和对应解法
command not found: pecl → brew install php 没成功,重装一次,它自带 pecl;configure: error: Cannot find OpenSSL's <evp.h> → 缺 OpenSSL 头文件,加环境变量:export LDFLAGS="-L/opt/homebrew/opt/openssl/lib"export CPPFLAGS="-I/opt/homebrew/opt/openssl/include"phpize: command not found → PHP dev 包损坏,运行 brew reinstall php;grep: /usr/include/php/: No such file or directory → Xcode 命令行工具不全,先跑 xcode-select --install,再手动安装 macOS_SDK_headers_for_macOS_*.pkg(路径在 /Library/Developer/CommandLineTools/Packages/)。
验证和启用
装完后:php -m | grep swoole 应该输出 swoole;php --ri swoole 查看详细版本与编译选项;
注意:Swoole 是动态扩展,默认已写入 php.ini(路径见 php --ini 输出),不用手动加 extension=swoole —— 如果你改过 php.ini 或用了多版本管理器(如 php-version),得检查对应配置文件是否真加载了该扩展。
最容易被忽略的一点:M1/M2 芯片上,如果之前用过 arch -x86_64 brew install,可能导致 OpenSSL 和 PHP 架构不一致,pecl install swoole 会静默失败或运行时报 Symbol not found。务必统一用 arm64 架构安装全套依赖。

















