文本主要给大家介绍的是php实现gearman任务分发的操作,包括安装gearman、gearman的使用、gearman异步的处理任务和gearman并行的执行多个任务的内容,感兴趣的朋友就继续往下看吧。
一、安装gearman
下载gearman源码包
https://launchpad.net/gearmand/+download
如: gearmand-1.1.12.tar.gz
下载php的gearman扩展包
http://pecl.php.net/package/gearman
如: gearman-1.1.2.tgz
安装gearman
> yum install boost-devel gperf libevent-devel libuuid-devel
> tar xf gearmand-1.1.12.tar.gz
> cd gearmand-1.1.12
> ./configure
> make && make install
安装gearman的php扩展(建议php版本不要过高,因为php7的gearman扩展目前还没有出来)
> yum install autoconf
> tar xf gearman-1.1.2.tgz
> cd gearman-1.1.2
> /data/php56/bin/phpize
> ./configure --with-php-config=/data/php56/bin/php-config
> make && make install
修改php.ini
> vi /data/php56/lib/php.ini
添加如下两项
extension_dir=/data/php56/lib/php/extensions/no-debug-zts-20131226/
extension=gearman.so
查看扩展
> /data/php56/bin/php -m
二、简单的使用gearman
首先我们编写client.php
<?php
//创建一个客户端
$client = new GearmanClient();
//添加一个job服务
$client->addServer('127.0.0.1', 4730);
//doNormal是同步的,等待worker处理完成返回结果
//建议不要使用do()了
$ret = $client->doNormal('sum', serialize(array(10, 10)));
if($ret) {
echo '计算结果:', $ret, "\n";
大型站长资讯类网站! https://www.nzzz.com.cn