# 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