历史经验告诉我们,装逼没有好下场。总结一下之前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扩展!!!!!完败!

转载于:https://www.cnblogs.com/mysic/p/5992510.html

安装php-amqplib(RabbitMQ的phpAPI)相关推荐

  1. centos安装rabbitmq_SpringCloud之RabbitMQ安装

    本文介绍Linux以及MAC OS下的RabbitMQ安装及配置: 一.Linux环境下的RabbitMQ安装(CentOS) 1.安装ErLang Erlang(['ə:læŋ])是一种通用的面向并 ...

  2. Ubuntu20安装erlang和rabbitmq

    版本:rabbitmq 3.8.15-1,erlang 22.1(root用户下安装,非root自行添加sudo命令) 由于版本对应和依赖的问题折腾很久,故此记录下来. 一.需要Erlang环境支持 ...

  3. CentOS7 安装 RabbitMQ 3.6(方法适用于安装任意版本 RabbitMQ)

    安装 RabbitMQ 步骤 说明: 由于新版本的诸多不确定性,所以这里我们选择稳定的 3.6.x 版本进行安装,由于 RabbitMQ 基于 Erlang,所以我们需要先安装 Erlang,注意:切 ...

  4. 解决escript: exception error: undefined function rabbitmqctl_escript:main/1问题以及如何安装Erlang和RabbitMq

    文章目录 1. 复现问题 2. 分析问题 3. 解决问题 4.如何安装Erlang和RabbitMq 1. 复现问题 今天在安装Erlang和RabbitMq完成后,在cmd窗口中输入如下命令: ra ...

  5. 2021-07-13 安装ERLANG 以及 RabbitMQ时遇到的版本不兼容异常

    今天安装ERLANG 以及 RabbitMQ时,遇到了一些问题. 在命令行执行安装插件的命令:rabbitmq-plugins enable rabbitmq_management 出现了错误如下: ...

  6. 安装python的rabbitmq扩展库

    安装 py-amqplib wget http://py-amqplib.googlecode.com/files/amqplib-1.0.2.tgz tar -zxvf amqplib-1.0.2. ...

  7. 【Docker】在Docker中安装redis、rabbitmq

    Docker中的Redis安装 1. 拉取最新镜像:docker pull redis:latest 2. 运行 redis 容器,不设置密码:docker run -itd --name redis ...

  8. openstack mysql默认密码_OpenStack 安装数据库和rabbitmq消息队列 (三)

    一)安装配置数据库 1.1.安装包 # yum install mariadb mariadb-server python2-PyMySQL -y 1.2.配置数据库 # vim /etc/my.cn ...

  9. 安装Erlang和RabbitMQ详细教程

    安装Erlang OTP和RabbitMQ 1.RabbitMQ简介 2.基本概念 2.1.RabbitMQ服务支持下列操作系统: 2.2.RabbitMQ支持下列编程语言: 2.3.主要特性 2.4 ...

最新文章

  1. “设为桌面图标”的ASP源代码
  2. sqlmap自动扫描注入点_同天上降魔主,真是人间太岁神——SQLMAP 高级教程
  3. TexBox.AutoCompleteSource
  4. Hadoop安装之JDK在Centos虚拟机中安装
  5. 孵化业务快速落地与优化
  6. Golang——延迟调用defer
  7. 信息学奥赛一本通 1982:【19CSPJ普及组】数字游戏
  8. python单行注释用什么符号_Python多行注释和单行注释用法说明
  9. 软件测试—软件测试基础知识—测试用例设计的方法之等价类和边界值
  10. 如何在Evolution中加密(一)
  11. 强大的DataGrid组件[4]_实现CURD[上]——Silverlight学习笔记[12]
  12. 3529: [Sdoi2014]数表 - BZOJ
  13. HDU 2553(N皇后问题)
  14. 【Java中的网络编程】
  15. Redis 的字符串是这样实现的…
  16. python实现简易动态贝叶斯网络的推断
  17. php换行快捷输入,excel中换行的快捷键是什么
  18. F检验 matlab
  19. 微信小程序-调查问卷
  20. pycharm分辨率清晰度

热门文章

  1. 第一章:T-SQL查询与编程基础
  2. Authentication-- 更改现有Sharepoint网站的认证方式,让其支持FBA:1.前期准备
  3. 重构我的CMS系统,增加ORM
  4. Webpack打包出错:Error: Cannot find module ‘webpack/lib/node/NodeTemplatePlugin‘ Require stack:
  5. 如果现在单位让你内退,拿基本工资,不用上班,你是否愿意?
  6. 为什么电视那么大,才2、3千元;手机那么小要5、6千元?
  7. 同为EA888发动机,迈腾和奥迪A4L,为何差价10万多?
  8. 恣无忌惮的拼音及解释
  9. 如何判断一个创业公司是否有发展潜力
  10. 成年人的世界里,赚钱是保护自己和身边人最高效的手段