workerman驱动YII2框架

本文介绍了如何在workerman环境下驱动YII2框架,通过利用workerman的高性能特性和YII2的丰富功能,实现两者的结合。文章详细讲解了workerman的工作原理,对比了php-fpm的运行机制,并指导如何修改YII2的控制台入口文件、创建workerman webserver入口以及启动脚本,最后提到了需要注意workerman不支持的函数和方法的修改,以实现平滑切换。
摘要由CSDN通过智能技术生成

workerman驱动YII2框架

workerman

workerman是一款常驻进程的php框架,workerman拥有极高的性能 workerman运行过程中,单个进程生命周期内只要PHP文件被载入编译过一次,便会常驻内存,不会再去从磁盘读取或者再去编译。 workerman省去了重复的请求初始化、创建执行环境、词法解析、语法解析、编译生成opcode以及请求关闭等诸多耗时的步骤。 实际上workerman运行起来后便几乎没有磁盘IO及PHP文件编译开销,剩下的只是简单的计算过程,这使得workerman运行飞快。 workerman中多个请求是可以共享数据或者资源的,当前请求产生的全局变量或者类的静态成员在下一次请求中仍然有效。 这对于减少开销,提高运行效率非常有用。例如业务只要初始化一次数据库连接,那么全局都可以共享这个连接,这实现了真正意义上的数据库长连接。 从而不必每次用户请求都去创建新的连接,避免了连接时三次握手、连接后权限验证以及断开连接时四次挥手等耗时的交互过程。不仅数据库,像redis、 memcache等同样有效。少了这些开销和网络交互,使得workerman运行更快。

php-fpm下的mvc框架

php-fpm下有很多优秀的mvc框架,例如yii,thinkphp等,他们提供了丰富的功能,极大地提高了开发效率,通常情况下大家说的php开发更多的是在php-fpm环境下的开发,但php-fpm下php效率较低,资源基本上每次都需要重新初始化。 workerman下常规的php-fpm框架根本无法直接运行。那么我们如何将两者的优点相结合呢

yii2&workerman

yii2是一款优秀的php mvc框架,自带了 丰富的功能,包括 MVC,DAO/ActiveRecord,I18N/L10N,缓存,身份验证和基于角色的访问控制,脚手架,测试等,可显著缩短开发时间。 很多企业现有的业务构建于yii2之上。两者都是好东西,如果结合起来,这样Yii2出现瓶颈的时候有些业务就可以平滑地迁移到Workerman

yii2控制台模式

Yii框架完美支持控制台应用,其在 Yii 中的结构与 Yii 的 web 应用非常相似。一个控制台应用,包括一个或多个 [[yii\console\Controller]](通常在控制台环境中被称作“命令”)。 如 Web Controller 一样,每一个 [[yii\console\Controller]] 也可以包含有一个或多少的动作。 控制台入口脚本一般被称为 yii,它通常被放置于应用的根目录中 启动命令:

./yii controller/action

如果我们能把w

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值