摘要: 上一篇文章里,我们介绍了如何基于xhprof扩展来分析PHP性能,并记录到日志里,最后使用xhprof扩展自带的UI在web里展示出来。本篇文章将讲述2个知识点: 使用xhgui代替xhprof的默认UI界面,更便于分析 使用tideways扩展替换xhprof扩展 使用更漂亮的UI: xhgui 阅读全文
posted @ 2018-05-14 23:49 飞鸿影~ 阅读(48) 评论(0) 编辑
摘要: 安装xhprof扩展 配置php.ini 注:xhprof已经很久没有更新过了,截至目前还不支持php7,php7可以使用 https://github.com/phacility/xhprof.git。 配置xhprof环境 需要把xhprof压缩包里的两个目录复制到指定目录(假设定义到 ): 然阅读全文
posted @ 2018-05-13 11:29 飞鸿影~ 阅读(28) 评论(1) 编辑
摘要: 为什么使用断点调试 大家可能会觉得使用var_dump和echo也能调试啊,为什么还要安装Xdebug断点调试呢? 确实是这样。但是var_dump和echo写的代码后面还要删除,而且明确是知道在哪打的,如果发现没有运行到打点的地方,还要修改代码再运行一次。而断点调试,可以在调试过程中动态打断点,逐阅读全文
posted @ 2018-05-13 10:14 飞鸿影~ 阅读(121) 评论(0) 编辑
摘要: 适用场景 直播消息 弹幕消息 粉丝订阅消息推送 知识点 1、关键字:PUBLISH SUBSCRIBE PSUBSCRIBE Redis采用PUBLISH命令发送消息,其返回值为接收到该消息的订阅者的数量。 Redis采用SUBSCRIBE命令订阅某个频道,其返回值包括客户端订阅的频道,目前已订阅的阅读全文
posted @ 2018-04-30 14:10 飞鸿影~ 阅读(61) 评论(0) 编辑
摘要: 普通请求 curl_normal.php use time:0.830 s curl_multi并发 curl_multi.php use time:0.259 s curl_multi并发优化:curl_multi_select 在上个示例里当 时,执行 而整个批处理句柄没有全部执行完毕时,系统会阅读全文
posted @ 2018-04-24 00:07 飞鸿影~ 阅读(213) 评论(0) 编辑
摘要: swoole提供了 函数,可以实现异步。此函数可以用在Server或Client模式下。 swoole_event_add属于AsyncIO,必须运行在CLI 模式。 异步tcp客户端 stream_socket_client实现tcp同步客户端 示例: php $sock swoole_proce阅读全文
posted @ 2018-04-22 09:25 飞鸿影~ 阅读(109) 评论(0) 编辑
摘要: 简介 swoole_process 是swoole提供的进程管理模块,用来替代PHP的pcntl扩展。 首先,确保安装的swoole版本大于1.7.2: 注意:swoole_process在最新的1.8.0版本已经禁止在Web环境中使用了,所以也只能支持命令行。这时候如果要做并发,multi cur阅读全文
posted @ 2018-04-21 15:54 飞鸿影~ 阅读(253) 评论(1) 编辑
摘要: 一般我们会把nginx、php都安装在同一个容器,为了扩展方便,我们希望nginx容器和php容器分开。那么就可以使用docker link命令实现这一目的。 需要的镜像: nginx 1.12.2 php(含php fpm7.1) 7.1 这里nginx镜像选择 ,php镜像自行编译(选用的是 h阅读全文
posted @ 2018-02-25 10:46 飞鸿影~ 阅读(207) 评论(0) 编辑
摘要: Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用。我们可以在第一次编译好需要的开发环境,然后把镜像导出打包,只有有docker环境,便可以快速还原原来的开发环境。 很常用的一个场景:换了电脑后,每次都需要重新安装PHP开发环境,浪费了很多时间。使用Docker,只需要预先编译阅读全文
posted @ 2018-02-04 13:37 飞鸿影~ 阅读(1162) 评论(0) 编辑
摘要: 更新时间:2018 1 7 12:27:21 更多请查看在线文集:http://android.52fhy.com/java/index.html 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。 输入输出流 简介 一个流被定义为一个数据序列。输入流用于从源读取数据,输出阅读全文
posted @ 2018-01-07 23:17 飞鸿影~ 阅读(389) 评论(0) 编辑
摘要: 更新时间:2018 1 6 21:20:39 更多请查看在线文集:http://android.52fhy.com/java/index.html String 字符串创建 第一种更省空间。对于字符串比较,如果直接使用 是判断地址是否相同,判断值是否相同需要使用 方法。 对于字符串:其对象的引用都是阅读全文
posted @ 2018-01-07 23:12 飞鸿影~ 阅读(23) 评论(0) 编辑
摘要: 更新时间:2018 1 7 10:34:05 更多请查看在线文集:http://android.52fhy.com/java/index.html Hello World 文件名:HelloWorld.java 注意: 1、文件名需与类名一致,如果文件名和类名不相同则会导致编译错误 2、区分大小写 阅读全文
posted @ 2018-01-07 23:11 飞鸿影~ 阅读(31) 评论(0) 编辑
摘要: 更多请查看在线文集:http://android.52fhy.com/java/index.html Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言和Java平台的总称。由James Gosling和同事们共同研发,并在1995年正式推出。 Jav阅读全文
posted @ 2018-01-07 23:08 飞鸿影~ 阅读(14) 评论(0) 编辑
摘要: 有时候我们想对响应(例如PHP接口)返回的内容做些字符串,虽然可以使用各语言代码相关方法(例如PHP的 )进行替换,但是在nginx层面替换是更方便的,无需修改代码。 约定:本文源代码目录统一放在: 里。 安装 安装此模块需要先安装 运行库: 然后安装 模块: 这里采用静态编译的方式安装模块,需要重阅读全文
posted @ 2017-12-02 22:56 飞鸿影~ 阅读(429) 评论(0) 编辑
摘要: 这是一款国产非常漂亮和实用的Linux桌面系统,平常办公、开发绰绰有余。详细介绍请移步官网:https://www.deepin.org/dde/ 安装版本:15.4.1 大小:2.5G 安装方法很简单,且不会破坏现有系统,不需要的时候直接卸载。 如何安装:https://www.deepin.or阅读全文
posted @ 2017-10-29 13:41 飞鸿影~ 阅读(87) 评论(0) 编辑