原创 服务架构 优雅的输出错误-assert 在正常情况,我们会通过,if,else进行判断一个接口的条件是否满足,不满足则输出错误,例如在IM系统中,申请入群接口,需要以下判断:$param = $this->request()->getRequestParam();$groupModel = new UserGroupModel();//获取群信息$groupInf 2020-06-03 浏览(790) 评论(0) 阅读全文
原创 php 震惊!if else 竟然同时输出! 首先,大家看看这个代码,应该输出什么:<?phpif(pcntl_fork()){ echo 1;}else{ echo 2;}输出1?还是输出2? 但它其实输出的是1和2:为什么呢?在这边,最主要一点在于pcntl_fork函数:pcntl_fork 2020-05-30 浏览(964) 评论(0) 阅读全文
原创 服务架构 easyswoole实现线上更新代码 众所周知,easyswoole作为常驻内存的框架,修改代码并不能直接生效,而是需要重启服务,那么,当你的easyswoole项目上线之后,该如何保证旧请求的同时去更新代码呢?nginx reload和restart首先,我们需要了解到nginx reload和restart的区别.reloadnginx 执行reload命令后,将会重新加载一次配置文件,并且给其他worker进程发送信号,进程收到 2020-05-25 浏览(983) 评论(0) 阅读全文
原创 服务架构 nginx实现负载均衡 proxy_pass、upstream与resolverupstreamupstream将创建一个上游服务配置项,用于交给proxy_pass 转发ip. upstream x.cn { server 192.168.192. 2020-05-24 浏览(1,214) 评论(0) 阅读全文
原创 php 百度编辑器-easyswoole组件版 百度编辑器是一款非常优秀的开源在线的html编辑器.但由于历史悠久,提供的sdk源码不能使用composer安装,也不支持cli模式.更不支持swoole协程环境了. 所以本人根据百度编辑器的代码,写出了一个可以在cli,easyswoole环境下使用的composer包. 地址: https://github.com/easy-s 2020-05-20 浏览(879) 评论(0) 阅读全文
原创 mysql mysql binlog恢复数据实战 在前面,我们了解了mysql binlog日志的作用以及使用方法: http://www.php20.cn/article/237 在后面讲到了,可以通过binlog进行恢复数据,那么,具体步骤是怎么样的呢?数据库备份数据库恢复的先决条件是,定时备份数据库,缩小binlog恢复范围.首先我们备份测试数据库数据:mysqldump -uroot -p --d 2020-04-21 浏览(927) 评论(0) 阅读全文
原创 mysql 关于mysql binlog二进制 binlog在mysql中,当发生数据变更时,都会将变更数据的语句,通过二进制形式,存储到binlog日志文件中.通过binlog文件,你可以查看mysql一段时间内,对数据库的所有改动.也可以通过binlog文件,进行数据恢复,以及集群同步. binlog常用配置参数[binlog]log_bin = mysql-bin # {on&nbs 2020-04-17 浏览(1,085) 评论(0) 阅读全文
原创 mysql 关于mysql集群主从服务器搭建 在高并发流量下,数据库往往是服务端的瓶颈,由于数据库数据需要确保落地,同时保证数据同步,数据即时性,有效性的问题,导致数据库不能像平常后端程序一样负载均衡. 那么在大并发下,该如何缓解数据库的压力呢?mysql读写分离我们可以分析,程序对于mysql的操作无非就2种,写入数据/更新数据(数据变更),读取数据.数据变更,因为要保证数据可靠以及数据同步问题,无法直接通过开多台服务器解决.但 2020-04-14 浏览(1,429) 评论(0) 阅读全文
原创 php php混淆加密解密实战 在查看别人的php源码的时候,我们经常会看到加密后的php代码.那么php加密原理是什么呢?怎么解密呢?混淆加密我们从百度随便搜索一个加密网站,例如:http://dezend.qiling.org/encrypt/加密代码:<?php/** * Created by PhpStorm. * User: tio 2020-03-28 浏览(2,302) 评论(0) 阅读全文
原创 php 关于easyswoole实现websocket聊天室的步骤解析 在去年,我们公司内部实现了一个聊天室系统,实现了一个即时在线聊天室功能,可以进行群组,私聊,发图片,文字,语音等功能,那么,这个聊天室是怎么实现的呢?后端又是怎么实现的呢?后端框架在后端框架上,我选用了php的easyswoole,easyswoole作为swoole中最简单易学的框架,上手简单,文档齐全,社区活跃直接通过easyswoole官方文档的例子,即可实现一个websocket服务器,并 2020-02-17 浏览(1,199) 评论(0) 阅读全文