php 异步处理的gearman

1. php 是进程处理,单线程到的,没有异步机制,在一些处理花费时间较多的情况导致用户体验较差.可以使用gearman 进行异步处理.

2. gearman 是一个异步处理的socket架构. 需要一个Client端调用.一个Worker端执行,一个job任务分发器.

3. 安装

  wget https://launchpad.net/gearmand/1.2/1.1.12/+download/gearmand-1.1.12.tar.gz  

  

  ./configure ------报错BOOST_ROOT找不到,yum 安装了boost-devel 还是找不到.

  yum -y install boost-devel* -----报错yum cannot retrive xx ,====>vi /etc/yum.repo.d/epel.repo 留一个base和path

  *** 

  你也可以图省事 yum y install gearmand . yum 找不到  的时候,在这里找一个http://dl.iuscommunity.org/pub/ius/stable/Redhat/6/x86_64/

  rpm -ivh xxx.repo 之后就可以yum install 了.

  自己手写了一个BOOST_ROOT export 到环境变量还是不行,看来只能源码包安装BOOST了,然后手动设置BOOST_ROOT了,就把他设置为BOOST的源码目录即可.

   ******手写了BOOST_ROOT 还是不行啊, 搞这个玩意一个下午了. 果断yum 安装.这个坑不要跳了.没意思.

****  

http://sourceforge.net/projects/boost/files/boost/1.60.0/

不要下载最新版,最新版估计需要其他依赖,所以1.4x版的就可以了啦.

4. 安装完gearman 之后

  gearman -d 以守护进程方式启动

5. 编译phpize ,加入gearman扩展.使用php 调用做client和Worker搞定.

原文地址:https://www.cnblogs.com/liuyuxing/p/5103065.html