laraman,可以轻松用Workerman加速Laravel的扩展包,不需要改任何东西

liruizhe1

首先感谢 webman adapterman octane

如果你喜欢lavavel的全面,也喜欢workman的速度轻快。现在可以轻松把他们集成在一起了。
本身很喜欢workman,但是舍不得laravel。因此一直想把它们搞一起。可是laravel太笨重了。直到有一天,作者推荐了 https://www.workerman.net/q/9831 这个。这速度加成简直太快了。于是乎我也研究了起来,虽然说是不用改代码,但是要改环境,而且对session支持不好,也不支持静态文件。因此决定自己改一下。这就入了坑了。
不啰嗦,直接说结果。

如果你正在用laravel,这个项目可以无损添加一个新的运行方式。更快更简单。除了php.exe再也不用其他了

实现了哪些功能,有哪些用途?

1.web服务(页面、静态文件、api接口,cookie,session)统统实现。laravel原版原样不改变。之前怎么开发后面就怎么开发
2.热重启(修改代码自动重启)移植自webman原生实现,windows下也一样没问题
3.自定义process,已经封装好了,用起来超简单。
4.workman各种协议,该支持啥就支持啥都一样
5.webman插件,不支持。不过laravel扩展包是完美支持的哦

如何安装

//安装扩展包,标准的laravel扩展
composer require itinysun/laraman
//发布配置文件和启动文件
php artisan vendor:publish --tag=laraman.install

如何使用

启动服务

#像使用artisan一样 一键启动注册在config/laraman/server.php 中process服务
php laraman

手动启动一个服务

php laraman process {process name}

如何卸载

composer remove itinysun/laraman
#然后手动删除配置文件和启动文件

项目状态

目前是beta版,我大概写了一个月(断断续续),今天新鲜出炉。已在windows上测试一天。
欢迎大家提供其他环境测试结果。如果有人可以做测试,也欢迎帮忙跑一下分。

https://github.com/Itinysun/laraman 如果有问题请提issue 或pr
如果喜欢可以点个小星星
文档和注释会慢慢补充

3150 12 9
12个评论

10bang

感谢分享

  • 暂无评论
zhangqm

刚试了下AdapterMan,filament没法正常登录,换了你这个可以,点赞

  • 暂无评论
xiaoming

可以说下 大致原理吗

  • liruizhe1 2023-05-25

    基本上就是参考了webman的流程。然后中间做了对request和respone的处理来兼容laravel。启动进程方面比较复杂,利用laravel的artisan写了一个超小核心的artisan,来做启动准备。这样可以用很多laravel的功能还不会导致容器混乱。另外参考的octane在每次处理消息完毕后清理必要的实例。

zhangqm

拿nxcrm跑了下,第一次正常,接着就页面一直有重复内容导致异常了,估计是没重置服务实例的缘故,看着还是要套octane得格式整,复用里面官方做得一些处理

  • liruizhe1 2023-05-25

    这个我已经按照octane写了销毁实例的方法,按照laravel的标准,注册实例的时候如果使用了scoped方式会自动销毁。后续我会把这个做成配置,方便兼容其他没有按照标准开发的进行手动销毁。

  • liruizhe1 2023-05-25

    v0.0.4版本增加了一个clean mode 请更新一下配置文件 然后再试一下 运行下面更新配置文件
    php artisan vendor:publish --tag=laraman.install --force

  • zhangqm 2023-05-25

    可以啊,这速度,试了下正常了

  • zhangqm 2023-05-25

    像octane那样的手动配置能实现么,像dcatadmin本身有做了兼容处理,加进配置就行了,Dcat\Admin\Octane\Listeners\FlushAdminState::class

  • liruizhe1 2023-05-25

    手动配置后面增加,因为担心多数人不清楚哪些需要清理,先增加了一个洁癖模式,后续版本增加一个调试模式来辅助输出可能存在问题实例,然后给出手动修复选项。

  • zhangqm 2023-05-26

    666,期待楼主更新了

  • liruizhe1 2023-05-27

    兄弟,有更新来,v0.0.5 兼容来dcat-admin,还是重新发布配置文件,然后你看一下process里面注释

  • zhangqm 2023-05-29

    楼主v5,试了下工作良好

  • zhangqm 2023-05-29

    之前洁癖模式下保存提示还会异常,这会用官方的就不会了

  • liruizhe1 2023-05-29

    新版本顺便修复了一个header大小写引发的bug,另外dcat用了一个419的http code,我发现也做了兼容处理

  • zhangqm 2023-05-29

    感谢楼主,我再多体验看看~

jcy_tcp

厉害的探索

  • 暂无评论
xiaopi

感谢
我看composer.json中,只限制了php>=7.0
是否意味着laravel5.5版本及以上都可以使用?

  • liruizhe1 2023-06-02

    并非如此,最近改动比较多。目前并不支持5.5.可能最后会限制php8.0+

  • xiaopi 2023-06-02

    请问支持laravel6.0么,老项目想加速,但是升级laravel版本改动也很大

  • liruizhe1 2023-06-02

    具体支持的版本要等到1.0的时候确定,目前是在验证稳定性和性能,后续会根据情况来决定,如果可能,会至少支持到5.5。好像很多人在用laravel-admin

  • xiaopi 2023-06-03

    感谢老哥

maliang47

太棒了,正需要这种包,回头测试一下

  • 暂无评论
Wujidadi

感谢大佬贡献,马上来测试应用一下

  • 暂无评论
luscio

首先感谢大佬的贡献,有没有勇士在生产环境使用过的,想用又不敢用。

  • 暂无评论
ikun

牛啊 牛啊

  • 暂无评论
无法埋名

谁写个thinkman?

  • 暂无评论
luscio

啥时候支持一下php8.2版本

  • 暂无评论

liruizhe1

264
积分
0
获赞数
0
粉丝数
2021-08-23 加入
🔝