gearman官方
http://gearman.org 各语言版本都有
安装如下步骤
1.gearmand: server端安装,非本机
https://launchpadlibrarian.net/130338751/gearmand-1.1.5.tar.gz
安装server前需要安装依赖包
yum install boost-devel-1.41.0
如果还不行,就安装下面这几个:
yum install libboost-program-options-dev libboost-thread-dev libevent-dev uuid-dev libcloog-ppl0
tar zxvf gearmand-1.1.5.tar.gz
cd gearmand-1.1.5
./configure --prefix=/usr/local/gearmand
make && make install
2. php 扩展
http://gearman.org/download#php
http://pecl.php.net/get/gearman-1.0.2.tgz
tar zxvf gearman-1.0.2.tgz
cd gearman-1.0.2
phpize
./configure --prefix=/usr/local/gearman --with-php-config=/usr/local/php5/bin/php-config --with-gearman=/usr/local/gearmand
make时报错:
有人说是bug:参照:http://www.livingelsewhere.net/2012/10/29/gearman-1-1-0-pecl-gearman-php-1-03-compilation-problem/
1 /data1/tools/gearman-1.0.2/php_gearman.c: In function ‘zif_gearman_job_send_data’: 2 /data1/tools/gearman-1.0.2/php_gearman.c:1486: error: dereferencing pointer to incomplete type 3 /data1/tools/gearman-1.0.2/php_gearman.c: In function ‘zif_gearman_job_send_warning’: 4 /data1/tools/gearman-1.0.2/php_gearman.c:1514: error: dereferencing pointer to incomplete type 5 /data1/tools/gearman-1.0.2/php_gearman.c: In function ‘zif_gearman_job_send_status’: 6 /data1/tools/gearman-1.0.2/php_gearman.c:1537: error: dereferencing pointer to incomplete type 7 /data1/tools/gearman-1.0.2/php_gearman.c: In function ‘zif_gearman_job_send_complete’: 8 /data1/tools/gearman-1.0.2/php_gearman.c:1559: error: dereferencing pointer to incomplete type 9 /data1/tools/gearman-1.0.2/php_gearman.c: In function ‘zif_gearman_job_send_exception’: 10 /data1/tools/gearman-1.0.2/php_gearman.c:1581: error: dereferencing pointer to incomplete type 11 /data1/tools/gearman-1.0.2/php_gearman.c: In function ‘zif_gearman_job_send_fail’: 12 /data1/tools/gearman-1.0.2/php_gearman.c:1600: error: dereferencing pointer to incomplete type 13 /data1/tools/gearman-1.0.2/php_gearman.c: In function ‘_php_worker_function_callback’: 14 /data1/tools/gearman-1.0.2/php_gearman.c:3521: error: dereferencing pointer to incomplete type 15 /data1/tools/gearman-1.0.2/php_gearman.c: In function ‘zm_startup_gearman’: 16 /data1/tools/gearman-1.0.2/php_gearman.c:4638: error: ‘GEARMAN_MAGIC_TEXT’ undeclared (first use in this function) 17 /data1/tools/gearman-1.0.2/php_gearman.c:4638: error: (Each undeclared identifier is reported only once 18 /data1/tools/gearman-1.0.2/php_gearman.c:4638: error: for each function it appears in.) 19 /data1/tools/gearman-1.0.2/php_gearman.c:4641: error: ‘GEARMAN_MAGIC_REQUEST’ undeclared (first use in this function) 20 /data1/tools/gearman-1.0.2/php_gearman.c:4644: error: ‘GEARMAN_MAGIC_RESPONSE’ undeclared (first use in this function)
解决方法尝试:
下载安装1.1.1
http://pecl.php.net/get/gearman-1.1.1.tgz
如上步骤
搞定,看来真的是老版本存在的bug
make && make install