摘要:
前面几节都是讲解pcntl扩展实现的多进程程序。本节给大家介绍swoole扩展的 模块。 swoole多进程 swoole_process 是swoole提供的进程管理模块,用来替代PHP的pcntl扩展。 首先,确保安装的swoole版本大于1.7.2: 注意:swoole_process在最新的 阅读全文
摘要:
本节主要讲解Posix常用函数和进程池的概念,也会涉及到守护进程的知识。本节难度较低。 Posix常用函数 posix_kill 向指定pid进程发送信号。成功时返回 , 或者在失败时返回 。 ,可以检测进程是否存在,不会发送信号。 示例: 注:通过 可以看到Linux下所有的信号常量。 posix 阅读全文
摘要:
本节讲解几个多进程的实例。 多进程实例 Master Worker结构 下面例子实现了简单的多进程管理: 支持设置最大子进程数 Master Worker结构:Worker挂掉,Master进程会重新创建一个 ~~~防盗版声明:本文系原创文章,发布于公众号 (fhyblog)及 "博客园" ,转载需 阅读全文
摘要:
上一篇文章讲解了 和`pcntl_wait`两个函数的使用,本篇继续讲解PHP多进程相关新知识。 僵尸(zombie)进程 这里说下僵尸进程: 僵尸进程是指的父进程已经退出,而该进程dead之后没有进程接受,就成为僵尸进程(zombie)进程。任何进程在退出前(使用exit退出) 都会变成僵尸进程( 阅读全文
摘要:
Hiredis 是Redis数据库的简约C客户端库。它是简约的,因为它只是增加了对协议的最小支持,但是同时它使用了一个高级别的 printf-like API,所以对于习惯了 printf 风格的C编程用户来说,其非常容易使用,而且API中没有明确的绑定每个 Redis 命令。 Github: ht 阅读全文
摘要:
本系列文章将向大家讲解 系列函数,从而更深入的理解进程相关知识。 PCNTL在PHP中进程控制支持默认是关闭的。您需要使用 配置选项重新编译PHP的 CGI或CLI版本以打开进程控制支持。 如果自带的PHP没有安装pcntl扩展,可以下载相同版本的源码,进入 使用 编译安装。 Note: 此扩展在 阅读全文
摘要:
上一篇文章里,我们介绍了如何基于xhprof扩展来分析PHP性能,并记录到日志里,最后使用xhprof扩展自带的UI在web里展示出来。本篇文章将讲述2个知识点: 使用xhgui代替xhprof的默认UI界面,更便于分析 使用tideways扩展替换xhprof扩展 使用更漂亮的UI: xhgui 阅读全文
摘要:
安装xhprof扩展 配置php.ini 注:xhprof已经很久没有更新过了,截至目前还不支持php7,php7可以使用 https://github.com/phacility/xhprof.git。 配置xhprof环境 需要把xhprof压缩包里的两个目录复制到指定目录(假设定义到 ): 然 阅读全文
摘要:
为什么使用断点调试 大家可能会觉得使用var_dump和echo也能调试啊,为什么还要安装Xdebug断点调试呢? 确实是这样。但是var_dump和echo写的代码后面还要删除,而且明确是知道在哪打的,如果发现没有运行到打点的地方,还要修改代码再运行一次。而断点调试,可以在调试过程中动态打断点,逐 阅读全文
摘要:
适用场景 直播消息 弹幕消息 粉丝订阅消息推送 知识点 1、关键字:PUBLISH SUBSCRIBE PSUBSCRIBE Redis采用PUBLISH命令发送消息,其返回值为接收到该消息的订阅者的数量。 Redis采用SUBSCRIBE命令订阅某个频道,其返回值包括客户端订阅的频道,目前已订阅的 阅读全文
摘要:
普通请求 curl_normal.php use time:0.830 s curl_multi并发 curl_multi.php use time:0.259 s curl_multi并发优化:curl_multi_select 在上个示例里当 时,执行 而整个批处理句柄没有全部执行完毕时,系统会 阅读全文
摘要:
swoole提供了 函数,可以实现异步。此函数可以用在Server或Client模式下。 swoole_event_add属于AsyncIO,必须运行在CLI 模式。 异步tcp客户端 stream_socket_client实现tcp同步客户端 示例: php $sock swoole_proce 阅读全文
摘要:
简介 swoole_process 是swoole提供的进程管理模块,用来替代PHP的pcntl扩展。 首先,确保安装的swoole版本大于1.7.2: 注意:swoole_process在最新的1.8.0版本已经禁止在Web环境中使用了,所以也只能支持命令行。这时候如果要做并发,multi cur 阅读全文
摘要:
一般我们会把nginx、php都安装在同一个容器,为了扩展方便,我们希望nginx容器和php容器分开。那么就可以使用docker link命令实现这一目的。 需要的镜像: nginx 1.12.2 php(含php fpm7.1) 7.1 这里nginx镜像选择 ,php镜像自行编译(选用的是 h 阅读全文
摘要:
Docker轻量级的特性使得我们可以快速打包开发环境:一处编译,到处使用。我们可以在第一次编译好需要的开发环境,然后把镜像导出打包,只有有docker环境,便可以快速还原原来的开发环境。 为什么使用 boot2docker 在 Ubuntu 等环境,我们可以一键安装Docker(服务端、客户端),但 阅读全文