workman 加速 laravel 。「震惊,是什么加速技术打破了workman作者的认知」🐶

这里先提一个php的冷知识。disable_function 这个函数是可以禁止一些php的函数,如果在这个里面添加了之后,在php代码中就无法使用对应函数,但是你可以自定义一个同名函数继续使用。

如图

workman 加速 laravel 。「震惊,是什么加速技术打破了workman作者的认知」

起因是昨天逛隔壁论坛,发现有一篇置顶文章。一开始觉得应该没什么,点击去一看竟然是作者刚发布的,按照文中的操作,对于那个想法的人,我是直呼666呀。

具体项目是这个。
joanhey/AdapterMan: AdapterMan for Workerman. Run almost any PHP app asynchronously with Workerman, without touch 1 line of code in your fw or app. (github.com)

感兴趣的同学可以按照内容进行操作,我用p8.1 + laravel9.19 试了一下,接入非常容易。其实现的方式可以总结为以下。第一、禁止php自带函数的同时编写新的函数。第二、提供新的启动入口,同时把框架的核心加载代码,稍作修改。这样就完美的接替了 php-fpm 。因为实现的代码复用,性能提升还是肉眼可见的。当然这个里面的替换思路还是很有意思的。

disable_functions =header,header_remove,http_response_code,setcookie,session_create_id,session_id,session_name,session_save_path,session_status,session_start,session_write_close,session_regenerate_id,set_time_limit

workman 加速 laravel 。「震惊,是什么加速技术打破了workman作者的认知」🐶

本作品采用《CC 协议》,转载必须注明作者和本文链接
biubiubiu
本帖由系统于 1年前 自动加精
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 27

真的那么简单,laravel兼容swoole就不会那么复杂了

1年前 评论
Leesinyii 1年前
滚球兽进化 (楼主) 1年前
滚球兽进化 (楼主) 1年前
deatil (作者) 1年前
deatil (作者) 1年前
滚球兽进化 (楼主) 1年前
抄你码科技有限公司

震惊!搬小板凳和瓜子围观

1年前 评论

前两天刚刚试过,确实是有较大提升,具体有没有其他问题,暂时还没去研究,作者那边说自己公司用了两年了,从这点看来,应该问题不大,建议大家可以进行尝试,毕竟对于一些老项目来说这是最简单错报的方式

1年前 评论
MR_NOBODY 1年前
miyama1984 1年前

swoole4早早通过hook原生函数的方式去兼容各种库代码 .. 但也仅此而已了,老代码想替换运行方式代码改动还是很大

1年前 评论
游离不2

get√到了

1年前 评论

测试过了,静态方法好像不行啊,每次请求会累加静态变量的

1年前 评论
Leesinyii 1年前
liaosp 1年前

Sorry, which static method, from your app ?? From Workerman will be good. If your app don't control the static propierties or global variables, will be a problem in the app. And this problem will be the same with Laravel Octane, Symfony runtime, ...

And now we are testing the Share Nothing mode too. Each request is independent, like in PHP-FPM.

1年前 评论
易水 1年前

file 这个$a如果是fpm模式每次都是0,如果是workerman常驻进程模式每次请求会累加

1年前 评论
抄你码科技有限公司 1年前
易水 (作者) 1年前
Leesinyii 1年前

要是那么容易 也不会死那么快了

1年前 评论
李铭昕

这是一个很好的idea,但是如果你一直在用 FPM 的编码方式,简单的通过这种方式进行替换,那吃枣药丸。

如果你使用的 常驻内存的 编码方式,那其实。。还不如直接使用 webman 等专门写的这种常驻内存框架了。。

综上,有那么点意思

1年前 评论

坑还是挺多的,如果是自己玩没问题,生产的话为了饭碗还是别闹了

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!