宝塔面板不提供workerman一键安装,需在宝塔php环境中手动集成:启用pcntl、posix及event扩展,用composer安装workerman/workerman:v5.2.3,创建server.php启动脚本并守护运行。

宝塔面板本身不直接提供 Workerman 的一键安装,但你可以通过标准 PHP 环境 + Composer 方式,在宝塔管理的网站或项目目录中集成 Workerman 5.2.3。关键不是“装到面板里”,而是让 Workerman 在宝塔托管的 PHP 环境中正常运行。
确认 PHP 环境支持必要扩展
Workerman 5.x(包括 5.2.3)依赖以下 PHP 扩展,必须启用:
- pcntl:用于多进程,Linux 下必需(Windows 不支持,不可用)
- posix:进程控制基础支持
- event(推荐)或 libevent:提升高并发 I/O 性能(非强制但强烈建议)
在宝塔面板 → 网站 → 对应站点 → PHP 版本 → 设置 → 安装扩展,勾选并安装 pcntl 和 posix;若需 event 扩展,先确认系统已安装 libevent-devel(CentOS/AlmaLinux 运行:yum install libevent-devel -y),再通过宝塔的「PHP 扩展」页面编译安装 event(宝塔 7.9+ 支持一键安装 event 扩展)。
用 Composer 安装 Workerman 5.2.3
进入你的项目根目录(如 /www/wwwroot/myapp),在宝塔终端中执行:
cd /www/wwwroot/myapp composer require workerman/workerman:v5.2.3
注意:
- 确保已安装 Composer(宝塔终端执行
composer -v可验证;未安装则运行curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer) - 若提示
proc_open报错,说明 PHP 禁用了该函数——进入宝塔 PHP 设置 → 禁用函数列表,移除proc_open - 若提示版本冲突,可临时指定 PHP CLI 使用宝塔对应版本,例如:
/www/server/php/81/bin/php /usr/local/bin/composer require workerman/workerman:v5.2.3
创建并运行 Workerman 服务脚本
新建一个启动文件,例如 server.php:
<?php use Workerman\Worker;
require_once __DIR__ . '/vendor/autoload.php';
$http_worker = new Worker('http://0.0.0.0:8080');
$http_worker->count = 2;
$http_worker->onMessage = function($connection, $data) {
$connection->send("Workerman 5.2.3 running OK");
};
Worker::runAll();
保存后,在终端执行启动命令:
php server.php start -d
加 -d 表示守护进程模式。可通过 ps aux | grep server.php 查看是否运行成功。
配合宝塔计划任务做进程守护(可选但推荐)
Workerman 进程可能意外退出。可在宝塔「计划任务」中添加每分钟检测脚本:
- 任务类型:Shell 脚本
- 执行周期:N 分钟(建议填 1)
- 脚本内容:
#!/bin/bash
if ! pgrep -f "server.php" > /dev/null; then
cd /www/wwwroot/myapp
/www/server/php/81/bin/php server.php start -d
fi
其中 /www/server/php/81/bin/php 请替换为你实际使用的 PHP 路径(可在宝塔 PHP 设置页查看)。











