php7安装socket扩展,php7安装amqp扩展(基于Centos6.x)

当前使用Centos6.x系统,php使用7.1版本,wlnmp一键包已支持该扩展

amqp扩展包地址:https://pecl.php.net/package/amqp

与Centos7不同的是,在Centos6.x环境下需要手动编译rabbitmq-c,否则会看到如下报错

amqp-1.9.4/amqp.c: In function ‘zm_startup_amqp’:

amqp-1.9.4/amqp.c:177: error: ‘AMQP_SASL_METHOD_EXTERNAL’ undeclared (first use in this function)

amqp-1.9.4/amqp.c:177: error: (Each undeclared identifier is reported only once

amqp-1.9.4/amqp.c:177: error: for each function it appears in.)

make: *** [amqp.lo] Error 1

1

2

3

4

5

amqp-1.9.4/amqp.c:Infunction‘zm_startup_amqp’:

amqp-1.9.4/amqp.c:177:error:‘AMQP_SASL_METHOD_EXTERNAL’undeclared(firstuseinthisfunction)

amqp-1.9.4/amqp.c:177:error:(Eachundeclaredidentifierisreportedonlyonce

amqp-1.9.4/amqp.c:177:error:foreachfunctionitappearsin.)

make:***[amqp.lo]Error1

1、安装所需依赖,如果在编译时还提示缺少其他依赖,请自行安装

yum install autoconf gcc gcc-c++ cmake librabbitmq-devel librabbitmq

1

yuminstallautoconfgccgcc-c++cmakelibrabbitmq-devellibrabbitmq

2、编译rabbitmq-c

注意:rabbitmq-c-0.9.0与rabbitmq-c-0.8.0版本编译方式不同,我这里以最新的0.9.0为例

wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz

tar xf v0.9.0.tar.gz

cd rabbitmq-c-0.9.0/

mkdir build && cd build

cmake ..

make

make install

1

2

3

4

5

6

7

wgethttps://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz

tarxfv0.9.0.tar.gz

cdrabbitmq-c-0.9.0/

mkdirbuild&&cdbuild

cmake..

make

makeinstall

Install the project...

-- Install configuration: "Release"

-- Installing: /usr/local/lib64/pkgconfig/librabbitmq.pc

-- Installing: /usr/local/lib64/librabbitmq.so.4.3.0

-- Installing: /usr/local/lib64/librabbitmq.so.4

-- Installing: /usr/local/lib64/librabbitmq.so

-- Installing: /usr/local/lib64/librabbitmq.a

-- Installing: /usr/local/include/amqp.h

-- Installing: /usr/local/include/amqp_framing.h

-- Installing: /usr/local/include/amqp_tcp_socket.h

-- Installing: /usr/local/include/amqp_ssl_socket.h

1

2

3

4

5

6

7

8

9

10

11

Installtheproject...

--Installconfiguration:"Release"

--Installing:/usr/local/lib64/pkgconfig/librabbitmq.pc

--Installing:/usr/local/lib64/librabbitmq.so.4.3.0

--Installing:/usr/local/lib64/librabbitmq.so.4

--Installing:/usr/local/lib64/librabbitmq.so

--Installing:/usr/local/lib64/librabbitmq.a

--Installing:/usr/local/include/amqp.h

--Installing:/usr/local/include/amqp_framing.h

--Installing:/usr/local/include/amqp_tcp_socket.h

--Installing:/usr/local/include/amqp_ssl_socket.h

3、下载amqp最新稳定版

wget https://pecl.php.net/get/amqp-1.9.4.tgz

tar xf amqp-1.9.4.tgz

cd amqp-1.9.4

/usr/local/php/bin/phpize

1

2

3

4

wgethttps://pecl.php.net/get/amqp-1.9.4.tgz

tarxfamqp-1.9.4.tgz

cdamqp-1.9.4

/usr/local/php/bin/phpize

根据自己phpize的位置来运行即可(不知道phpize在哪的直接find / -name phpize查找),运行完提示下面信息,然后编译

Configuring for:

PHP Api Version: 20160303

Zend Module Api No: 20160303

Zend Extension Api No: 320160303

4、编译扩展模块

./configure --with-php-config=/usr/local/php/bin/php-config

make

make install

1

2

3

./configure--with-php-config=/usr/local/php/bin/php-config

make

makeinstall

执行完成后会显示扩展模块编译到的目录/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/

5、修改php.ini添加扩展

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/"

extension=amqp.so

1

2

extension_dir="/usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/"

extension=amqp.so

注意:如果之前配置过extension_dir路径了,则只需要配置extension=amqp.so即可

保存退出,重启php

通过phpinfo可看到,扩展已生效

4a18ecff2246c7a12593d607469add98.gif

4a18ecff2246c7a12593d607469add98.gif

~微信打赏~

分享到:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值