php
文章平均质量分 65
walkor
PHP高级应用 workerman 作者
展开
-
PHP协程实现多任务合作
PHP5.5一个比较好的新功能是实现对生成器和协同程序的支持。协同程序虽然有很强大的功能但也很难被知晓,解释起来也比较困难。这篇文章指导你通过使用协同程序来实施任务调度,通过实例实现对技术的理解。我将在前三节做一个简单的背景介绍。如果你已经有了比较好的基础,可以直接跳到“协同多任务处理”一节。生成器 生成器最基本的思想也是一个函数,这个函数的返回值是依次输出,而不是只返回一个单转载 2013-12-05 14:19:08 · 3726 阅读 · 0 评论 -
php高级应用之进程控制及进程间通讯
很少有用php写服务的,然而有些场景又要求能有一个这样的服务器程序,它能够与php无缝结合,并且提供高可靠靠性能的服务,并且提供现有架构所没有的一些高级特性,例如支持自定义协议,支持长连接等等。PPM(PHP-Process-Manager)是我开发的一款进程管理框架,集成了socket服务功能,并且支持libevent、libev、libuv等事件轮询库,支持服务平滑重启,支持磁盘文件监控及自动原创 2013-11-26 13:41:58 · 9443 阅读 · 3 评论 -
PHP如何非阻塞批量推送数据
今天看到论坛里面有人问如何批量非组原创 2014-04-10 13:45:27 · 4487 阅读 · 3 评论 -
发一个WebSocket+PHP聊天室-PHP多进程实时服务器推送技术
这一阵子在家写了个聊天室,给大家献上代码,有用到的可以拿去用。先介绍下聊天室的特性:1、服务端采用纯php开发,不依赖php-fpm、nginx、或者apache数据库等,部署简单2、采用php多进程,充分利用cpu资源3、gateway workers进程模型,gateway进程只负责网络IO,worker进程负责业务逻辑,各尽其责,稳定高效4、支持libevent事件轮原创 2014-04-08 13:05:31 · 12545 阅读 · 3 评论 -
PHP declare(ticks=N); 的作用
一般用法是 declare(ticks=N);拿declare(ticks=1)来说,这句主要作用有两种:1、Zend引擎每执行1条低级语句就去执行一次 register_tick_function() 注册的函数。可以粗略的理解为每执行一句php代码(例如:$num=1;)就去执行下已经注册的tick函数。一个用途就是控制某段代码执行时间,例如下面的代码虽然最后有个死循环,但是执原创 2014-04-22 23:40:46 · 11900 阅读 · 1 评论 -
再发一个HTML5+WebSocket+PHP多进程 多人在线小蝌蚪游戏[强烈推荐]
很少有人使用PHP daemon跑服务的,用PHPdaemon原创 2014-05-03 23:34:49 · 8121 阅读 · 1 评论 -
PHP如何在请求完毕后继续处理耗时任务
// 你要跳转的url$url = "http://www.baidu.com/";// 如果使用的是php-fpmif(function_exists('fastcgi_finish_request')){ header("Location: $url"); ob_flush(); flush(); fastcgi_finish_reque原创 2014-04-14 14:27:10 · 4613 阅读 · 0 评论 -
如何实现PHP异步调用或者说并行计算
需求当一个用户给多个好友发送邀请邮件时,当一个请求需要从很多个数据库中读取数据时,当一个页面需要大量计算又想快速响应时,我们都希望php能够做到异步执行,即并发地发邮件,并行地从多个数据库取数据,并行的计算业务逻辑,从而能够快速的响应用户,不必让用户苦等。需求分解仔细想下群发邮件、并行的从数据库中取数据、并行计算业务逻辑这些需求又都有不同,所以这里php异步并行需要区别对待原创 2014-02-08 18:41:35 · 8778 阅读 · 0 评论 -
Server模型及其PHP实现
Server模型及其PHP实现是我今年8月份在公司做的一次分享,主要分享的是如何用PHP实现一个高性能的socket服务器。内容涉及PHP多进程、进程管理与控制、进程间通讯、libevent/libev/libuv等事件轮询库、IO复用技术、Inotify文件监控与自动更新、服务平滑重启、PHP语法检查、以指定用户运行子进程、惊群、多协议支持等内容。目前这款纯PHP写的socket服务器承载着原创 2013-12-02 22:02:21 · 1889 阅读 · 1 评论