新闻资讯  快讯  焦点  财经  政策  社会
互 联 网   电商  金融  数据  计算  技巧
生活百科  科技  职场  健康  法律  汽车
手机百科  知识  软件  修理  测评  微信
软件技术  应用  系统  图像  视频  经验
硬件技术  知识  技术  测评  选购  维修
网络技术  硬件  软件  设置  安全  技术
程序开发  语言  移动  数据  开源  百科
安全防护  资讯  黑客  木马  病毒  移动
站长技术  搜索  SEO  推广  媒体  移动
财经百科  股票  知识  理财  财务  金融
教育考试  育儿  小学  高考  考研  留学
您当前的位置:首页 > IT百科 > 程序开发 > 语言 > php

php代码怎么热更新,用实战操作教你,快收藏吧

时间:2019-12-17 10:43:44  来源:  作者:

干货丨<a href=http://www.solves.com.cn/it/cxkf/yy/php/ target=_blank class=infotextkey>php</a>代码怎么热更新,用实战操作教你,快收藏吧

 

这里以ZPHP框架作为演示,实现swoole的代码热更新,在WorkerStart回调函数中,载入ZPHP框架:

use ZPHP\ZPHP;
$zphp = null;
$mimes = null;
$http = new swoole_http_server('0.0.0.0',9501);
$http->on('request', function (swoole_http_request $request, swoole_http_response $response){
 //......
});
$http->on('WorkerStart',function($serv, $worker_id){
 //框架载入
 require __DIR__ . DIRECTORY_SEPARATOR . 'zphp' . DIRECTORY_SEPARATOR . 'ZPHP' . DIRECTORY_SEPARATOR . 'ZPHP.php';
 global $zphp;
 $zphp = ZPHP::run(__DIR__, false, 'default');
 global $mimes;
 $mimes = require "mimes.php";
});
$http->start();

文件名为http_server.php

在后台运行此脚本:

php http_server.php &

在浏览器输入192.168.1.116:9501进行http请求:

这是因为加载ZPHP框架后,访问了默认的控制器下的默认方法,其中一行代码为:

$data = $project."zchat runing in swoole!!!!\n";

现在修改此行代码如下:

$data = $project."The code is modified!!!!\n";

linux中查看http_server的进程

ps axuf|grep http_server

使用以下命令向manager进程发送一个信号来重载worker进程:

kill -USR1 5913

可见4个worker进程的进程编号都和之前不同了,这说明manager进程已经重载了worker进程

刷新浏览器中的页面可见

热更新成功~

这里小小总结一下:

代码热更新其实更新的是"WorkerStart"回调函数里的内容,也就是说我们的业务代码都要放到"WorkerStart"回调函数中

以上就是php代码怎么热更新的详细内容,希望对你有所帮助。



Tags:php 热更新   点击:()  评论:()
声明:本站部分内容来自互联网,内容观点仅代表作者本人,如有任何版权侵犯请与我们联系,我们将立即删除。
▌相关评论
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
▌相关推荐
这里以ZPHP框架作为演示,实现swoole的代码热更新,在WorkerStart回调函数中,载入ZPHP框架:use ZPHP\ZPHP;$zphp = null;$mimes = null;$http = new swoole_http_server(&#39;0...【详细内容】
2019-12-17   php 热更新  点击:(19)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条