历史经验告诉我们,装逼没有好下场。

总结一下之前composer安装php-amqplib包失败的原因:

composer安装的时候需要指定PHP执行文件的位置:
PHP安装路径:/usr/local/php/bin/
composer 指定的PHP路径:/usr/local/bin/
因为composer指定的位置不是php的安装位置,因此我在/usr/local/bin下建立了php执行文件的硬连接!!!
这个创建的硬连接就是给自己挖的坑,如果创建的是软连接就不会如此麻烦。
因为这个硬连接是我在安装composer之前建立的。后来用composer安装amqplib包时提示缺少ext-bcmath扩展,所以我重新编译了php。
这样做的结果是重新编译的php和之前创建的硬连接php完全没有关系了,重新编译生成的php是一个新的inode,所以,这两个是完全不同的两个文件。
新编译的php中含有bcmath,原来的位于/usr/local/bin/下的php中则不含bcmath。
而composer指定的位置是指向/usr/local/bin/的,所以每次install的时候都是调取的/usr/lcoal/bin/下的php,因此就总是报缺少bcmath的信息。 如果之前不把bcmath编译到php内核中,而是编译成单独的bcmath.so文件,也不会出这样的问题。 装逼遭雷劈!

=============================以下是教训===================================

1.安装bcmath扩展

--enable-bcmath

2.在项目根目录创建composer.json:

{
"require":{
"php-amqplib/php-amqblib":"2.6.*"
}
}

3.# composer install

执行composer install 之后仍然提示bcmath扩展没有在系统中

在phpinfo中查看到bcmath已经成功加载,并编写了php脚本调用bcmath提供的函数,也正常运行

------------------------------以上方法在本人系统上失败(centos 7 minimal)-----------------------------------

尝试通过编译的方法来添加库

1.从下载的php源文件包中拷贝bcmath源文件

# cp -R php/ext/bcmath  usr/local/php/include/php/ext

2.执行phpize(usr/local/php/bin),提示需要autoconf支持

3.安装autoconf

# yum install autoconf

4.重新执行phpize,自动生成了configure文件

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

# make && make install

编译好的bcmath.so文件保存在/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/下

5.编辑php.ini

添加zend_extension=cal/php/lib/php/extensions/no-debug-non-zts-20131226/bcmath.so

6.重启php-fpm

# systemctl restart php-fpm

7.再次运行composer

# composer install

!!!!仍然提示需要bcmath扩展!!!!!完败!

安装php-amqplib(RabbitMQ的phpAPI)的更多相关文章

  1. centos 安装和配置 rabbitmq

    centos 安装 rabbitmq 1.rabbitmq是erlang语言开发的,安装前首先需要安装erlang# yum install erlang -y // 直接安装可能报错,# yum i ...

  2. RabbitMQ消息队列系列教程(二)Windows下安装和部署RabbitMQ

    摘要 本篇经验将和大家介绍Windows下安装和部署RabbitMQ消息队列服务器,希望对大家的工作和学习有所帮助! 目录 一.Erlang语言环境的搭建 二.RabbitMQ服务环境的搭建 三.Ra ...

  3. 如何安装和配置RabbitMQ

    今天开始一个小小的练习,学习一下安装和配置RabbitMQ,为什么要学它,因为WCF可以完全兼容和使用RabbitMQ了.我们新的大数据系统需要使用消息队列,所以就开始研究一下,把它重新封装一下,更便 ...

  4. openstack--2--控制节点安装mysql和rabbitmq

    生产中可以把mysql数据库单独安装到一台机器上,这里因为实验机器有限,就把mysql安装到了控制节点 其实openstack每个组件都可以安装到单独的机器上. RabbitMQ介绍 RabbitMQ ...

  5. 如何安装和配置RabbitMQ(转载)

    如何安装和配置RabbitMQ 今天开始一个小小的练习,学习一下安装和配置RabbitMQ,为什么要学它,因为WCF可以完全兼容和使用RabbitMQ了.我们新的大数据系统需要使用消息队列,所以就开始 ...

  6. 20190418 CentOS7实用技能综合:系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/RocketMQ/RabbitMQ编译安装 + ...各类常用生产环境软件的编译安装

    系统安装 + WinScp客户端连接 + 防火墙端口号iptables + Nginx编译安装 + MySQL编译安装 + Redis编译安装 + MongoDB编译安装 + ActiveMQ/Roc ...

  7. CentOS 安装最新的 RabbitMQ 3.7.8

    RabbitMQ依赖Erlang,Erlang又依赖很多包,安装非常麻烦,可以如下操作: RabbitMQ在github上有提供新的erlang包(https://github.com/rabbitm ...

  8. airflow 安装配置celery+rabbitmq celery+redis

    AirFlow的安装可以参考:https://www.cnblogs.com/braveym/p/11378851.html 这里介绍的是AirFlow 安装配置celery+rabbitmq   和 ...

  9. mac下安装并启动RabbitMQ

    前言   RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件).RabbitMQ服务器是用Erlang语言编写的,而群集和故障转移是构建在开放电信平台框架上的 ...

随机推荐

  1. Python之路----------内置函数

    1.abs(x)绝对值 #coding=utf-8 a = 1 b = -2 print(abs(a)) print(abs(b)) 2.all(iterable)可迭代对象里面所有内容为真返回真,空 ...

  2. echarts基础 handleIcon 设置

    1.自己引入echarts库 2.找到代码中dataZoom中的handleIcon ,看见对应的是"M0,0 v9.7h5 v-9.7h-5 Z",这是由svg画出来的图形,其中 ...

  3. Hessian怎样实现远程调用

    1.Spring中除了提供HTTP调用器方式的远程调用,还对第三方的远程调用实现提供了支持,其中提供了对Hessian的支持. Hessian是由Caocho公司发布的一个轻量级的二进制协议远程调用实 ...

  4. REmap首次尝试--PC端

    在REchart项目中,实验此网址的内容,得到若干实例 针对此我针对北京市做了若干实验 第一:绘制北京市的填充地图 代码如下: >BJqu<-mapNames("beijing& ...

  5. JavaScricp

    常用对话框 1.alert(""):警告对话框,作用是弹出一个警告对话框 2.confirm(""):确定对话框,弹出一个带确定和取消按钮的对话框——确定返回t ...

  6. Select Tree Node

    这里用到了Oracle的一个树形结构查询函数select *  from record START WITH A.TREE_NODE IN ('COST_CTR_10053')CONNECT BY P ...

  7. 今天携程出事了:让我们来学习下http的响应码

    就在今天,2015年5月28日,中国最大的旅游机票预订网站--携程网粗大事了.据传携程网的数据库被人物理删除了,而容灾备份的数据又无法正常使用,服务器全面遭受瘫痪.每小时给携程带来的损失约100万美元 ...

  8. Redis客户端连接池

    使用场景 对于一些大对象,或者初始化过程较长的可复用的对象,我们如果每次都new对象出来,那么意味着会耗费大量的时间. 我们可以将这些对象缓存起来,当接口调用完毕后,不是销毁对象,当下次使用的时候,直 ...

  9. Qt qml 模拟iphone slide to unlock 的聚光动画文字效果

    模拟iphone slide to unlock 的聚光动画文字效果    /底层放淡文字    /前景放高亮文字+半透明遮罩    /动画移动遮罩 Author: surfsky.cnblogs.c ...

  10. Linux的fasync驱动异步通知详解【转】

    本文转载自:http://blog.csdn.net/coding__madman/article/details/51851338 版权声明:本文为博主原创文章,未经博主允许不得转载. 工作项目用有 ...