主要是两个包php
1.rabbitmq-c的包linux
2.amqp的包git
下载github
首先是rabbitmq-c-0.4.1.tar.gz包,能够访问https://github.com/alanxz/rabbitmq-c去下载最新的web
wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.4.1/rabbitmq-c-0.4.1.tar.gzapache
而后下载amqp-1.2.0.tgz,也能够去下载最新的http://pecl.php.net/package/amqpvim
wget http://pecl.php.net/get/amqp-1.2.0.tgzphp-fpm
安装测试
先把两个包全都解压ui
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 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