axguowen / think-webworker
A Simple Web Framework Extension For ThinkPHP With Workerman
Requires
- ext-fileinfo: *
- topthink/framework: ^6.1||^8.0
- workerman/workerman: ^4.1
This package is auto-updated.
Last update: 2024-11-13 03:56:02 UTC
README
介绍
一个类似于webman的ThinkPHP Webworker扩展库
特点
1、深度兼容ThinkPHP,现有ThinkPHP业务代码几乎不用做任何更改即可使用
2、性能比传统php-fpm环境高10-20倍
3、支持ThinkPHP的Cookie使用
4、支持ThinkPHP的Session使用
5、支持ThinkPHP的多应用模式
6、支持ThinkPHP的多应用中间件
7、多应用模式支持配置应用入口文件
8、多应用模式支持配置应用目录以支持composer依赖包的应用
安装
composer require axguowen/think-webworker
配置
修改config目录的webworker.php
配置文件,设置好监听地址跟端口,默认为监听所有网卡IP,端口8989
多应用模式说明:
如果安装了ThinkPHP官方的多应用依赖包,则默认自动多应用识别,也可以通过应用入口文件的方式来访问指定应用,如果需要设置应用入口文件与应用名不一样,可以配置app_entrance_files参数,
例如你的后台admin应用,入口文件名使用了test.php
,那么入口文件配置参数如下:
'app_entrance_files' => [ 'test.php' => 'admin', ]
如果需要给test.php
入口文件指定应用目录,则配置参数如下:
'app_entrance_files' => [ 'test.php' => [ 'app_name' => 'admin', 'app_path' => '/www/wwwroot/your_project/your_app/', ], ],
上面的应用入口文件只是url访问上的入口文件,并不真实存在,也不需要自己创建。
注意(非常重要)
ThinkPHP内置的\think\Request
类已经做了别名映射到\think\webworker\support\think\Request
类,
如果需自定义请求类,则自定义请求类需要继承\think\webworker\support\think\Request
类,
然后在app目录下的provider.php文件里面将\think\webworker\support\think\Request
类映射到自定义的请求类。
启动
命令行执行以下代码:
php think webworker
启动成功后在浏览器访问127.0.0.1:8989即可
Linux下支持以守护进程模式启动:
php think webworker start -d
停止
守护进程运行模式下在命令行执行以下代码停止服务:
php think webworker stop