文档章节

Centos安装rabbitmq的php扩展

mac_zhao
 mac_zhao
发布于 2014/09/26 18:05
字数 878
阅读 45
收藏 0

前边我们介绍过怎么安装rabbitmq,但是想用php来调用rabbitmq可是没那么简单了,整整搞了一个下午才搞定....

主要是两个包

1.rabbitmq-c的包

2.amqp的包

下载

首先是rabbitmq-c-0.4.1.tar.gz包,可以访问https://github.com/alanxz/rabbitmq-c去下载最新的

wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.4.1/rabbitmq-c-0.4.1.tar.gz

然后下载amqp-1.2.0.tgz,也可以去下载最新的http://pecl.php.net/package/amqp

wget http://pecl.php.net/get/amqp-1.2.0.tgz

安装

现在开始进行关键的操作了,在网上找的方法很多都有问题,这是我的安装和配置方法,你可以借鉴一下,但是不能保证每台机器都能够正确的安装哦~

先把两个包全都解压

tar zxvf rabbitmq-c-0.4.1.tar.gztar zxvf amqp-1.2.0.tgz

两个是有先后顺序的哦~

安装rabbitmq-c-0.4.1

cd rabbitmq-c-0.4.1./configure --prefix=/usr/local/rabbitmq-c-0.4.1

最后显示一下内容表示正常

rabbitmq-c build options:Host: x86_64-unknown-linux-gnuVersion: 0.4.1SSL/TLS: opensslTools: yesDocumentation: noExamples: yes

然后进行make和安装了.

make && make install

如果没有报错,那就是安装成功了,要是有错误,请在本文章下边回复,我们一起研究,嘿嘿~~

  安装amqp-1.2.0

cd amqp-1.2.0phpize

执行完phpize命令后你应该看到类似下边的内容

Configuring for:PHP Api Version: 20100412Zend Module Api No: 20100525Zend Extension Api No: 220100525

要是没有这个命令的话需要安装一下

yum install php-devel

要是自己安装的php的话 可能需要自己查找一下啦~~~

find / -name phpize

以上这两步是没有phpize这个命令的才需要执行哦~~~

然后是configure,这个要根据你个人环境自己修改内容,这里展示的是我的

./configure --with-php-config=/usr/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.4.1/

PS:这里解释一下

--with-php-config=/usr/bin/php-config 这个php-config根据你装的php而定,要是找不到请用find / -name php-config查找--with-librabbitmq-dir=/usr/local/rabbitmq-c-0.4.1/ 这个是指定你安装的rabbitmq-c的目录,我安装的是/usr/local/rabbitmq-c-0.4.1/因为在安装rabbitmq-c的 时候我自己指定了安装目录了.

然后进行make和安装了

make && make install

这个应该不会出现什么问题.

在make install完成后他会提示

Installing shared extensions: /usr/lib64/php/modules/

 以上是正常情况下,要是你自己编译的php,那么他会提示你别的路径,此时你需要找到这个路径里边的amqp.so文件,将他拷贝到/usr/lib64/php/modules/下.

最后安装完amqp后还不算完,咱们还要让php加载这个扩展,这个挺简单的,编辑php.ini文件添加一下内容

vim /etc/php.ini[rabbitmq]extension=amqp.so

这个随便找一个位置就可以了,之后咱们重启apache或者是php-fpm了

service httpd restartservice php-fpm restart

根据实际情况选择以上的命令.

php测试脚本

php测试rabbitmq的php扩展插件脚本

<?php$cnn = new AMQPConnection();$cnn->setHost('127.0.0.1');$cnn->setLogin('guest');$cnn->setPassword('guest');if($cnn->connect()){echo '连接成功';}?>

错误分析

PS:要是你在执行php测试文件的时候提示你一下信息,你需要看看你的amqp.so是不是在下面提示的文件夹中了,要是没有那你需要看看你在make install完amqp后他提示的那个路径,按照我上边红色的标识执行操作试试.

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib64/php/modules/amqp.so' - /usr/lib64/php/modules/amqp.so: cannot open shared object file: No such file or directory in Unknown on line 0

© 著作权归作者所有

共有 人打赏支持
mac_zhao
粉丝 41
博文 249
码字总数 304671
作品 0
普陀
程序员
私信 提问
Centos安装rabbitmq的php扩展

主要是两个包 1.rabbitmq-c的包 2.amqp的包 下载 首先是rabbitmq-c-0.4.1.tar.gz包,可以访问https://github.com/alanxz/rabbitmq-c去下载最新的 wget https://github.com/alanxz/rabbitmq-c/......

庆沉
2014/09/11
0
0
CentOS安装RabbitMQ及PHP扩展

开发环境 CentOS7.3 安装RabbitMQ服务端 安装完成后可以使用systemctl系列命令进行管理操作 安装rabbitmq-c 在安装amqp之前还需要安装另外一个通讯扩展rabbitmq-c。 去github下载最新版本(目...

一个向往前端的后端工程师
08/27
0
0
Linux中RabbitMQ安装教程

Linux下安装RabbitMQ 在开始之前一定要看官方文档,其实教程不一定最新的,所以一定要try it. 安装参考官网 安装Erlang RabbitMQ的安装需要Erlang的基础环境,必须按照RabbitMQ Erlang版本要...

weir_will
05/14
0
0
在CentOS上安装rabbitmq

转自:http://flyingdutchman.iteye.com/blog/1887283 这文章写得很好,除了安装软件编译时间比较长之外,安装这个几乎没出现什么错误。现在去配置下rabbitmq,马上就可以使用了。 在本节中我...

mac_zhao
2014/09/28
0
0
CentOS 6.4下Rabbitmq安装

在 CentOS 6.4上安装python* 注意啊,自己手动安装python2.7.5,不要动系统上面其他的版本 yum install zlib yum install zlib-devel 下载python-2.7.6.tar.gz文件 tar -xzvf python-2.7.6.t...

mac_zhao
2014/09/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

solr使用规范

0. 目的 规范solr设计、用法,避免bug,提高性能 1. 设计规范 solr的用途是查询,不是存储,建议查询结果尽量都为id主键,而后再拿该id主键到缓存或者db中再查询相关信息,例如:请勿将经销商...

andersChow
16分钟前
1
0
11-《深度拆解JVM》之Java对象的内存布局

一、问题引入 在 Java 程序中,我们拥有多种新建对象的方式。除了最为常见的 new 语句之外,我们还可以通过反射机制、Object.clone 方法、反序列化以及 Unsafe.allocateInstance 方法来新建对...

飞鱼说编程
20分钟前
1
0
Windows Install Docker

win7、win8 win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ docker toolbox...

linuxprobe16
24分钟前
1
0
混合云环境中扩展Kubernetes的挑战及方案

流量突增时,我们需要扩展应用程序以满足用户需求。本文分享了扩展Kubernetes以及管理混合云环境时可能遇到的挑战,以及如何简单高效地完成Kubernetes扩展。 引 言 假设您的业务是在线的:您...

RancherLabs
33分钟前
1
0
Java集合小抄

Java集合小抄 1. List 1.1 ArrayList 以数组实现。节约空间,但是数组有容量限制。超出限制时会增加50%容量,用System.arraycopy()复制到新的数组。因此最好能给出数组大小的预估值。默认第一...

傅小水water
40分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部