CentOS 6.3 安装php 5.4.13库 gearman

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