关于php:使用-Swoole-加速你的-CMS-系统并实现热更新-基于-Laravel-框架

主题:应用 Swoole 减速你的 CMS 零碎,并实现热更新

对于 Swoole 的简介不再在此赘述,各位能够自行查看官网的文档进行具体的理解。

本文以 MyCms 为例,简要阐明 Swoole 联合传统的 CMS 零碎进行应用,并实现热更新。

CMS零碎:MyCms

(目前v3.3+以上版本从新编写了对 Swoole 的反对,移除了包swooletw/laravel-swoole。 应用新版本的用户间接装置后批改Nginx配置即可)

集成 Swoole 问题:

1、系统配置更新后无奈实时读取

2、URL 别名生成后拜访 404

3、插件装置呈现问题

4、批改PHP文件后不失效

以上问题必须手动重启 swoole 能力失效

性能解决实现:

1、系统配置缓存更新后自行重载热更新

2、URL 路由别名缓存生成后自行重载热更新

3、插件装置/卸载后自行重载热更新

4、PHP 文件批改后,能够通过后盾革除缓存进行热更新

Swoole 拓展包

见 MyCmsExpand / Swoole文件夹及根目录 swoole.php

次要文件阐明:

1、swoole.phpswoole 服务治理入口文件

2、Expand / Swoole / MySwoole.php服务治理外围文件

3、Expand / Swoole / config.php参数配置文件

4、Expand / Swoole / reset须要重置的服务(session)

Swoole 热更新外围

确认 onWorkerStart 及之前的操作没有加载须要热更新的文件,如果加载了就无奈进行热更新

示例包代码

onWorkerStart 中仅加载 Laravel 框架外围性能,onRequest 才解决相干逻辑操作

注:该示例包目前仅反对 Laravel 框架应用,如需反对其余框架,请自行批改兼容

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理