workerman 5.2.3 安装内存超限本质是 php cli 内存限制过低,需通过 php -d memory_limit=1g composer require workerman/workerman 临时调高,或修改 cli 对应 php.ini 中 memory_limit=1g 并重启终端;亦可禁用自动加载优化、改用源码直引或检查系统真实内存是否不足。

Workerman 5.2.3 安装时提示内存超限,本质是 Composer 在加载依赖或执行 autoload 生成过程中 PHP 内存耗尽,不是 Workerman 本身的问题,而是安装环境的 PHP 配置限制太低。
检查并调高 PHP 内存限制
Composer 默认使用 CLI 模式的 PHP,需单独调整其 memory_limit:
- 运行 php -i | grep memory_limit 查看当前 CLI 的限制(注意不是 web 版本)
- 临时提高:在 composer 命令前加参数,例如:
php -d memory_limit=1G composer require workerman/workerman - 永久生效:编辑 CLI 对应的 php.ini(通常为
/etc/php/*/cli/php.ini或php --ini显示的路径),将memory_limit = 1G,然后重启终端再试
跳过 autoload 优化步骤(适用于低配环境)
Composer 5.x+ 默认启用 classmap 生成和优化,对大项目或旧机器压力较大:
- 安装时禁用自动优化:
composer require workerman/workerman --no-autoloader --no-scripts - 之后手动执行:
composer dump-autoload --optimize --classmap-authoritative(可选,按需分步执行) - 若仍失败,可先用 --no-dev 减少依赖数量,等基础安装完成再补装开发组件
改用源码直引方式(零 Composer 依赖)
不走 Composer 流程,彻底绕过内存瓶颈:
- 去 GitHub 官方仓库 下载 v5.2.3 的 zip 包,解压到项目目录如
vendor/workerman - 在入口文件中直接 require:
require_once __DIR__ . '/vendor/workerman/Autoloader.php'; - Workerman 自带 Autoloader,无需 Composer 支持即可运行
确认系统资源是否真实不足
某些云主机或容器环境内存极小(如 512MB),即使 PHP 限制调高也可能被系统 OOM killer 终止:
- 运行 free -h 看剩余内存
- 检查 dmesg | tail 是否出现 “Out of memory: Kill process” 日志
- 若确属物理内存紧张,建议升级配置,或改用轻量替代方案(如仅需 WebSocket 可考虑 Swoole Websocket Server)











