# Workerman-TP6 **Repository Path**: PHP-Daemon/workerman-tp6 ## Basic Information - **Project Name**: Workerman-TP6 - **Description**: 基于AdapterMan将workerman、GatewayWorker、tp6进行整合;用workerman常驻内存的方式运行tp6、统一运行统一管理、支持workerman相关组件生态和tp6相关组件组件生态、以及composer生态 - **Primary Language**: PHP - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 5 - **Created**: 2023-02-10 - **Last Updated**: 2025-04-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Workerman-TP6 #### 介绍 > Workerman-TP6是以workerman作为容器运行,让tp6常驻内存而提高性能,开启JIT后性能进一步提升 > 基于AdapterMan将workerman、GatewayWorker、tp6进行整合; > 用workerman常驻内存的方式运行tp6、统一运行统一管理、 > 支持workerman相关组件生态和tp6相关组件组件生态、以及composer生态 #### PHP版本 > 运行环境要求PHP8.0+ #### 项目迁移 > 若你基于ThinkPHP6开发的项目,不需要做任何改动 1. 只需要将 utils 目录拷贝到您的项目根目录,config/workerman.php 复制 到 config 目录 2. 修改 composer.json,在`autoload`->`psr-4` 节点下 增加 `"utils\\": "utils"`,即可 ``` "autoload": { "psr-4": { "app\\": "app", "utils\\": "utils" }, }, ``` 3. 运行命令 ``` composer dump ``` 或者 ``` php composer.phar dump ``` 4. 安装依赖 ``` composer require workerman/workerman composer require workerman/gateway-worker ``` 或者 ``` php composer.phar require workerman/workerman php composer.phar require workerman/gateway-worker ``` 5. 添加Think命令行 在config/console.php在添加 ```php 'workermanRun' => utils\workerman\command\workermanRun::class, ``` 6. think命令启动 #### 安装教程 1. git 拉取项目后运行composer命令安装依赖库 ``` composer install ``` 或者 ``` php composer.phar install ``` ### 启动命令 1. 单独启动 http 服务 以debug(调试)方式启动 ``` php -c ./cli-php.ini http_server.php ``` ### think命令启动 若需要使用workerman/gateway-worker做其他服务 统一管理启动,则 需要配合tp的think命令行,配置文件在 'config/workerman.php' > Windows环境请使用 start_for_win.bat 进行启动 > 双击 start_for_win.bat 即可运行 以debug(调试)方式启动 ``` php -c ./utils/workerman/cli-php.ini think workermanRun start ``` 以daemon(守护进程)方式启动 ``` php -c ./utils/workerman/cli-php.ini think workermanRun start -d ``` 停止 ``` php -c ./utils/workerman/cli-php.ini think workermanRun stop ``` 重启 ``` php -c ./utils/workerman/cli-php.ini think workermanRun restart ``` 平滑重启 ``` php -c ./utils/workerman/cli-php.ini think workermanRun reload ``` 查看状态 ``` php -c ./utils/workerman/cli-php.ini think workermanRun status ``` 查看连接状态(需要Workerman版本>=3.5.0) ``` php -c ./utils/workerman/cli-php.ini think workermanRun connections ``` #### 特别鸣谢 1. AdapterMan [https://github.com/walkor/AdapterMan](https://github.com/walkor/AdapterMan) 2. ThinkPHP6 [https://www.kancloud.cn/manual/thinkphp6_0/1037479](https://www.kancloud.cn/manual/thinkphp6_0/1037479) #### 问题 1. fileinfo相关函数不存在的? ```angular2html 该问题是用于大部分默认的php安装时,默认把`fileinfo`扩展禁用了`--disable=fileinfo`, 在cli-php.ini添加扩展即可 让php命令行兼容 --disable=fileinfo 请自行根据 fileinfo.so / fileinfo.dll 扩展所在目录修改(绝对路径) 示例如下: extension=/www/server/php/81/lib/php/extensions/no-debug-non-zts-20210902/fileinfo.so ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request