课程' AMQPConnection'未找到。 AMQP和PHP api版本冲突

时间:2016-09-05 09:04:37

标签: php rabbitmq amqp pecl

在PHP更新之一(ubuntu)之后,我收到错误 Class' AMQPConnection'在我的申请中找不到。 我通过 pecl

重新安装 amqp 的最新稳定版本(1.7.1)
sudo pecl uninstall amqp

sudo pecl install amqp

它问我:

  

下载amqp-1.7.1.tgz ...

     

开始下载amqp-1.7.1.tgz(79,905字节)

     

..................完成:79,905字节

     

18个源文件,构建

     

跑步:phpize

     

配置:

     

PHP Api版本:20121113

     

Zend Module Api No:20121212

     

Zend Extension Api No:220121212

     

将路径设置为librabbitmq安装前缀[autodetect]:

当我选择其中一个变体时 - 构建失败,错误总是像

  

configure:错误:请重新安装librabbitmq发行版本或(重新)安装librabbitmq开发包(如果它在您的系统中可用)   错误:`/ tmp / pear / temp / amqp / configure --with-librabbitmq-dir = 20121113'失败

如果我选择自动检测,则安装成功完成。 然后我将 extension = amqp.so 添加到 php.ini 并收到错误

  

PHP警告:PHP启动:无法加载动态库' /usr/lib/php5/20131226/amqp.so' - /usr/lib/php5/20131226/amqp.so:无法打开共享对象文件:第0行的“未知”中没有此类文件或目录

我通过

找到了 amqp.so
locate amqp.so

显示

  

/usr/lib/php5/20121212/amqp.so

然后我将 extension = amqp.so 更改为完整路径 /usr/lib/php5/20121212/amqp.so

我得到了非常有趣的错误

  

PHP警告:PHP启动:amqp:无法初始化模块   使用模块API = 20121212编译的模块   使用模块API = 20131226编译的PHP   这些选项需要匹配    在第0行的未知中

据我所知,PHP编译的版本最新为Amqp。 但它是最新的amqp库版本。 Pecl表示:

  

包稳定/(最新)本地

     

amqp 1.7.1(稳定)1.7.1与任何符合AMQP的服务器通信

PHP版本为5.6.4

  

PHP 5.6.4-4ubuntu6(cli)(建于2015年4月17日15:47:51)

     

版权所有(c)1997-2014 PHP小组

     

Zend Engine v2.6.0,版权所有(c)1998-2014 Zend Technologies       Zend OPcache v7.0.4-dev,版权所有(c)1999-2014,作者:Zend

     

技术       与Xdebug v2.2.6,版权所有(c)2002-2014,作者Derick Rethans

0 个答案:

没有答案