原创 服务架构 优雅的输出错误-assert 在正常情况,我们会通过,if,else进行判断一个接口的条件是否满足,不满足则输出错误,例如在IM系统中,申请入群接口,需要以下判断:$param = $this->request()->getRequestParam();$groupModel = new UserGroupModel();//获取群信息$groupInf 2020-06-03 浏览(1,228) 评论(0) 阅读全文
原创 php 震惊!if else 竟然同时输出! 首先,大家看看这个代码,应该输出什么:<?phpif(pcntl_fork()){ echo 1;}else{ echo 2;}输出1?还是输出2? 但它其实输出的是1和2:为什么呢?在这边,最主要一点在于pcntl_fork函数:pcntl_fork 2020-05-30 浏览(1,397) 评论(0) 阅读全文
原创 服务架构 easyswoole实现线上更新代码 众所周知,easyswoole作为常驻内存的框架,修改代码并不能直接生效,而是需要重启服务,那么,当你的easyswoole项目上线之后,该如何保证旧请求的同时去更新代码呢?nginx reload和restart首先,我们需要了解到nginx reload和restart的区别.reloadnginx 执行reload命令后,将会重新加载一次配置文件,并且给其他worker进程发送信号,进程收到 2020-05-25 浏览(1,435) 评论(0) 阅读全文
原创 php 百度编辑器-easyswoole组件版 百度编辑器是一款非常优秀的开源在线的html编辑器.但由于历史悠久,提供的sdk源码不能使用composer安装,也不支持cli模式.更不支持swoole协程环境了. 所以本人根据百度编辑器的代码,写出了一个可以在cli,easyswoole环境下使用的composer包. 地址: https://github.com/easy-s 2020-05-20 浏览(1,299) 评论(0) 阅读全文
原创 mysql 关于mysql binlog二进制 binlog在mysql中,当发生数据变更时,都会将变更数据的语句,通过二进制形式,存储到binlog日志文件中.通过binlog文件,你可以查看mysql一段时间内,对数据库的所有改动.也可以通过binlog文件,进行数据恢复,以及集群同步. binlog常用配置参数[binlog]log_bin = mysql-bin # {on&nbs 2020-04-17 浏览(1,606) 评论(0) 阅读全文
原创 mysql 关于mysql集群主从服务器搭建 在高并发流量下,数据库往往是服务端的瓶颈,由于数据库数据需要确保落地,同时保证数据同步,数据即时性,有效性的问题,导致数据库不能像平常后端程序一样负载均衡. 那么在大并发下,该如何缓解数据库的压力呢?mysql读写分离我们可以分析,程序对于mysql的操作无非就2种,写入数据/更新数据(数据变更),读取数据.数据变更,因为要保证数据可靠以及数据同步问题,无法直接通过开多台服务器解决.但 2020-04-14 浏览(1,979) 评论(0) 阅读全文
原创 php php混淆加密解密实战 在查看别人的php源码的时候,我们经常会看到加密后的php代码.那么php加密原理是什么呢?怎么解密呢?混淆加密我们从百度随便搜索一个加密网站,例如:http://dezend.qiling.org/encrypt/加密代码:<?php/** * Created by PhpStorm. * User: tio 2020-03-28 浏览(2,734) 评论(0) 阅读全文
原创 php 关于easyswoole实现websocket聊天室的步骤解析 在去年,我们公司内部实现了一个聊天室系统,实现了一个即时在线聊天室功能,可以进行群组,私聊,发图片,文字,语音等功能,那么,这个聊天室是怎么实现的呢?后端又是怎么实现的呢?后端框架在后端框架上,我选用了php的easyswoole,easyswoole作为swoole中最简单易学的框架,上手简单,文档齐全,社区活跃直接通过easyswoole官方文档的例子,即可实现一个websocket服务器,并 2020-02-17 浏览(1,618) 评论(0) 阅读全文
原创 php php图片木马实现原理 什么是木马木马病毒是指隐藏在正常程序中的一段具有特殊功能的恶意代码,是具备破坏和删除文件、发送密码、记录键盘和攻击Dos等特殊功能的后门程序。那,php的木马是长什么样的呢?我们来看下面这段代码:<?php@eval($_GET['tioncico']);这句话的意思是什么呢?只要在网页上获取到了$_GET['tioncico']的数据,就当成php代码直 2020-02-01 浏览(2,569) 评论(0) 阅读全文
原创 服务架构 关于接口幂等性 什么是幂等性HTTP/1.1中对幂等性的定义是:一次和多次请求某一个资源对于资源本身应该具有同样的结果(网络超时等问题除外)。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。总结来说:1:假如第一次请求没有对资源进行修改(增加,修改,删除),那么之后的请求同样不会对资源进行修改(get获取资源)2:假如第一次请求对资源有进行修改(增加,修改,删除),那么之后的请求只会跟第一次 2020-01-09 浏览(1,253) 评论(0) 阅读全文