CentOS下安装PHP的AMQP扩展方法和步骤
AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。Erlang中的实现有 RabbitMQ等。
主要是两个包
1.rabbitmq-c的包
2.amqp的包
1、下载
首先是rabbitmq-c-0.5.2.tar.gz包,可以访问https://github.com/alanxz/rabbitmq-c去下载
wget https://github.com/alanxz/rabbitmq-c/releases/download/v0.5.2/rabbitmq-c-0.5.2.tar.gz
附上我下载好的rabbitmq-c-0.5.2.tar.gz 点击下载
然后下载amqp-1.9.1.tgz,也可以去下载最新的http://pecl.php.net/package/amqp
wget http://pecl.php.net/get/amqp-1.9.1.tgz
2、安装
1.先把两个包全都解压
tar zxvf rabbitmq-c-0.5.2.tar.gz
tar zxvf amqp-1.9.1.tgz
两个是有先后顺序的
2.安装rabbitmq-c-0.5.2
cd rabbitmq-c-0.5.2
./configure --prefix=/usr/local/rabbitmq-c-0.5.2
之后会有输出如下:
rabbitmq-c build options:
Host: x86_64-unknown-linux-gnu
Version: 0.5.2
SSL/TLS: openssl
Tools: yes
Documentation: no
Examples: yes
安装
make && make install
如果不知道安装成功与否,可以每一步都用echo $?检查,显示0为正常
3.安装amqp-1.9.1
cd /usr/src && wget http://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
tar -zvxf m4-1.4.9.tar.gz # cd m4-1.4.9/
./configure && make && make install # cd ../
wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.62.tar.gz
tar -zvxf autoconf-2.62.tar.gz
cd autoconf-2.62/
./configure && make && make install 或者:
yum install -y m4 autoconf
cd amqp-1.9.1
phpize
执行完phpize命令后你应该看到类似下边的内容
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
一般安装完PHP都会有这个命令,要是没有这个命令的话需要安装一下:yum install php-devel
用find / -name phpize查找命令路径
./configure --with-php-config=/usr/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c-0.5.2/
PS:--with-php-config=/usr/bin/php-config 这个php-config根据你装的php而定,要是找不到请用find / -name php-config查找
--with-librabbitmq-dir=/usr/local/rabbitmq-c-0.5.2/ 这个是指定你安装的rabbitmq-c的目录,我安装的是/usr/local/rabbitmq-c-0.5.2/因为在安装rabbitmq-c的时候我自己指定了安装目录了.
make && make install
安装完成最后一行会输出:
Installing shared extensions: /usr/lib64/php/modules/
以上是正常情况下,要是你自己编译的php,那么他会提示你别的路径,此时你需要找到这个路径里边的amqp.so文件,将他拷贝到/usr/lib64/php/modules/下.
4.编辑php.ini文件添加一下内容
[rabbitmq]
extension=amqp.so
extension_dir = "/usr/lib64/php/modules/"
重启php-fpm即可。
3、测试安装是否成功
php测试脚本
php测试rabbitmq的php扩展插件脚本
<?php
$cnn = new AMQPConnection();
$cnn->setHost('127.0.0.1');
$cnn->setLogin('guest');
$cnn->setPassword('guest');
if($cnn->connect()){
echo '连接成功';
}
?>
configure: error: Cannot find php-config. Please use --with-php-config=PATH 错误的解决方案
find / type f -name "php-config"
/usr/local/php/bin/php-config #使用这个路径
安装完PHP没有php.ini文件
find / -type f -name "php.ini-production"
/tools/php-7.1.9/php.ini-production
cp /tools/php-7.1.9/php.ini-production /etc/php.ini
CentOS下安装PHP的AMQP扩展方法和步骤的更多相关文章
- linux(centos)下安装PHP的PDO扩展
PHP 数据对象PDO扩展为PHP访问数据库定义了一个轻量级的一致接口.PDO 提供了一个数据访问抽象层,这意味着,不管使用哪种数据库,都可以用相同的函数(方法)来查询和获取数据.最近在我们的建站和O ...
- CentOS下安装JDK的三种方法
方法一:手动解压JDK的压缩包,然后设置环境变量 1.在/usr/目录下创建java目录 [root@localhost ~]# mkdir/usr/java[root@localhost ~]# c ...
- CentOS下安装php的mbstring扩展
php的mbstring扩展如果没有安装会导致一些问题: 例1:登陆phpMyAdmin的时候会提示没字符串编码和字符串处理库 php_mbstring,有些程序中会用到mb_substr函数没有ph ...
- Centos下安装PHP ldap扩展
Centos下安装PHP ldap扩展,有两种方法,仅供参考. 一.在线安装 执行下面命令: 1 yum install PHP-ldap 可能出现的问题: Error: php70w-common- ...
- centos下安装php环境
centos下安装php环境 安装apache yum install httpd-devel 启动apache /etc/init.d/httpd start 安装mysql yum install ...
- CentOS下安装pip
CentOS下安装pip 通常情况下使用命令: yum -y install pip 也有可能报错,无法安装.这是应该使用第二种方法. 1.首先需要先安装扩展源EPEL: yum -y install ...
- Centos下安装mysql 总结
一.MySQL安装 Centos下安装mysql 请点开:http://www.centoscn.com/CentosServer/sql/2013/0817/1285.html 二.MySQL的几个 ...
- centos下安装xfce+vnc
首先安装桌面环境,我选择的是xfce,轻量级桌面,小巧实用不占太多内存,(占用内存方面,xfce少于kde,kde少于gnome). 安装xfce桌面一开始我以为第三方的软件源如rpmforge等应该 ...
- Centos 下安装MongoDB
Centos 下安装MongoDB 一.安装方法 方法(一) 1 配置包管理系统 创建/etc/yum.repos.d/mongodb.repo 文件,当然我们使用的是64位系统,32位的情况不再考 ...
随机推荐
- 回归问题中代价函数选择的概率解释(Probabilistic interpretation)
在我们遇到回归问题时,例如前面提到的线性回归,我们总是选择最小而成作为代价函数,形式如下: 这个时候,我们可能就会有疑问了,我们为什么要这样来选择代价函数呢?一种解释是使我们的预测值和我们训练样本的真 ...
- springcloud(三) eureka集群
上一节讲到user微服务和order微服务和eureka注册中心一起使用,那么问题来了如何注册中心挂了怎么办?ok, 注册中心集群就来了. 原理图: 注意euraka 之间是通过复制(replicat ...
- 【Django】uWSGI和Gunicorn【转】
因为nginx等优秀的开源项目,有不少本来不是做服务器的同学也可以写很多服务器端的程序了.但是在聊天中会发现,大家虽然写了不少代码,但是对wsgi是什么,gunicorn是什么,反向代理又是什么并不了 ...
- shell编程——日志输出的同时显屏
在执行脚本的时候我们常常需要将执行过程全部输出到日志里,以备出现报错时可以跟踪分析,开始我用的是exec: exec 1>info.log #把全部执行过程输出到info日志中 exec 2&g ...
- 【BZOJ1013】球形空间产生器sphere
高斯消元模板题 #include <cstdio> #include <cstring> #include <algorithm> #include <ios ...
- flume 转
http://blog.csdn.net/xiao_jun_0820/article/details/38111305
- iOS 导航栏黑线,UIImage 枚举处理方式
ios 找出导航栏下面的黑线(可隐藏,改变样式等) http://www.jianshu.com/p/effa4a48f1e3 设置UIImage的渲染模式:UIImage.renderi ...
- 嵌套列表的加权和 · Nested List Weight Sum
[抄题]: Given a nested list of integers, return the sum of all integers in the list weighted by their ...
- jdk8中LocalDateTime,LocalDate,LocalTime等日期时间类
package com.zy.time; import org.junit.Test; import java.time.*; import java.time.format.DateTimeForm ...
- appium_server_v1.4.16版本不适配android7.0系统,运行报错“Attempt to re-install io.appium.settings without first uninstalling”
要解决的问题:appium在androidV7.0系统上运行时报错 Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.a ...