Workerman 5.2.3 在 Mac 上运行的核心前提是启用 pcntl 和 posix 扩展,因框架依赖二者实现多进程与信号处理;需确认 PHP 版本 ≥ 7.4,通过 php -m 验证扩展存在,缺失则源码编译安装并配置 php.ini。

Mac 系统安装 Workerman 5.2.3,核心不是“安装 Workerman 本身”,而是确保 PHP 运行环境满足其底层要求——尤其是 pcntl 和 posix 扩展必须启用。Workerman 5.2.3 是纯 PHP 框架,无需编译,但依赖这些系统级扩展才能实现多进程、信号处理等关键能力。
确认当前 PHP 环境(关键第一步)
Mac 自带 PHP,但版本老旧(如 8.1+)、无 pcntl,且不建议使用;多数开发者用 MAMP、Homebrew 或 XAMPP 提供的 PHP。先明确你实际使用的 PHP:
- 终端执行
which php查看路径,确认是否指向 MAMP(如/Applications/MAMP/bin/php/php8.2.12/bin/php)或 Homebrew(如/opt/homebrew/bin/php) - 运行
php -v确认版本 ≥ 7.4(Workerman 5.2.3 推荐 PHP 7.4–8.3) - 运行
php -m | grep -E "pcntl|posix"—— 若无输出,说明这两个扩展缺失,必须补上
补全 pcntl 和 posix 扩展(Mac 下最常见卡点)
macOS 不提供 pcntl 的预编译 so 文件,需源码编译。注意:不是所有 PHP 安装方式都支持直接启用,MAMP 和 Homebrew PHP 处理方式不同:
-
MAMP 用户:进入对应 PHP 版本目录(如
/Applications/MAMP/bin/php/php8.2.12/include),下载同版本 PHP 源码(从 php.net/releases),解压后进入ext/pcntl,依次执行:phpize→./configure --enable-pcntl→make && sudo make install
编译成功后会提示Installing shared extensions: /Applications/MAMP/bin/php/php8.2.12/lib/php/extensions/no-debug-non-zts-20220829/,记下该路径 -
Homebrew 用户:若用
brew install php安装,默认已含 pcntl 和 posix,可跳过编译;若仍报错,尝试重装:brew reinstall php - 无论哪种方式,最后在对应 php.ini(用
php --ini查找)中添加两行:extension=pcntl.soextension=posix.so
保存后重启终端,再运行php -m | grep pcntl验证
获取并运行 Workerman 5.2.3
Workerman 5.2.3 是标准 Composer 包,无需“安装框架”本身,只需引入项目:
- 新建项目目录,执行:
composer create-project workerman/workerman myapp 5.2.3
或手动下载 release 包:GitHub v5.2.3 tag 页面 → 下载workerman-5.2.3.zip→ 解压到项目中 - 进入项目,检查示例是否可运行:
cd myappphp start.php start
若看到Workerman[xxx] start in ...和进程列表,即启动成功 - 如需守护进程模式(后台运行),改用:
php start.php start -d
可选但推荐:提升并发能力(event 扩展)
当连接数预期超过 1000,建议加装 event 扩展(PHP ≥ 7.4):
- 先装系统依赖:
brew install libevent - 再装 PHP 扩展:
pecl install event(过程中提示 OpenSSL 支持时输no) - 在 php.ini 中追加:
extension=event.so - 重启验证:
php -m | grep event
Workerman 5.2.3 在 Mac 上跑起来不难,难点在环境对齐。只要 pcntl + posix 就位,其余都是常规 PHP 项目流程。

















