【问题标题】:Connect to RabbitMQ from PHP - Windows从 PHP 连接到 RabbitMQ - Windows
【发布时间】:2012-11-26 09:40:44
【问题描述】:

我在我们的一台服务器上运行 RabbitMQ,并尝试通过 PHP 连接到它。我正在 Windows7 机器上开发,我的第一行代码如下: $cnn = new AMQPConnection();

它给了我错误: 致命错误:在

中找不到类“AMQPConnection”

我知道这是我需要安装的东西,但它是什么?我是 PHP 新手,所以有点帮助会很好。

Ps:我可以通过 RabbitMQ admin web 界面连接到 RMQ 服务器。

谢谢 杰克

【问题讨论】:

  • 您接受的答案不再正确。 RabbitMQamqp 现在也可用于 Windows。

标签: php windows-7 rabbitmq


【解决方案1】:

我正在 Windows7 机器上开发

使用该特定代码可能会让您不走运。该课程来自PECL aqmp extension。在the installation instructions 内部,它声明:

Windows 用户注意:此扩展目前不支持 Windows,因为 librabbitmq 库尚不支持 Windows。

您将希望使用another library 来代替您的消息队列。

【讨论】:

  • 好的,谢谢。你会推荐我在 Windows 上使用哪些其他库?
  • 不知道,因为我既不在 Windows 上运行 PHP,也不使用 RabbitMQ。我更喜欢Gearman。 ;) 不过,任何用纯 PHP 编写的库都应该适合您。
【解决方案2】:

rabbitmq-c 库现在支持 windows,php_amqp pecl 扩展也构建在 windows 上。文档还没有更新,也没有任何官方的二进制版本。但是,我设法让它们构建并在此处下载了一些 32 位 dll:

http://www.nathanjohnson.info/?p=77

【讨论】:

    【解决方案3】:

    @AMQP installation php.net:

    Windows 用户注意:此扩展目前不支持 Windows,因为 librabbitmq 库尚不支持 Windows。

    但是here at RabbitMQ website 是一个 Windows 安装程序...

    显然这个 php.net 页面是过时的


    要这样安装:

    1. this official PECL amqp 1.4.0 page为你的php下载正确的包
    2. 解压
    3. amqp.dll 添加到您的php ext 文件夹中
    4. rabbitmq.1.dll 添加到您的Windows 系统32 文件夹中。

    根据我在博客上找到的here 的帖子,我认为它来自同样在这里发布的@NathanJohnson。

    【讨论】:

      【解决方案4】:

      php_amqp 1.4.0(稳定版)安装指南:

      1. https://pecl.php.net/package/amqp/1.4.0/windows下载适合你的php版本的包
      2. 将php_amqp.dll解压到X:/php/ext/目录
      3. 将rabbitmq.1.dll解压到X:/Windows/system(不是system32)目录
      4. 修改 php.ini 文件并在扩展列表末尾添加“extension=php_amqp.dll”行
      5. 在命令行执行命令“X:/php/php.exe -m”验证模块安装
      6. 重启网络服务器

      【讨论】:

        【解决方案5】:

        我是如何工作的:

        My System Config: Win 7 Pro, (x64) XAMPP running PHP 5.6(x86)
        

        按照此处的说明安装 RabbitMQ:

        https://www.rabbitmq.com/install-windows.html

        现在从这里下载兼容的扩展

        https://pecl.php.net/package/amqp/1.4.0/windows

        就我而言,它是“5.6 线程安全 (TS) x86”

        现在从 zip 文件 (php_amqp-1.4.0-5.6-ts-vc11-x86.zip) 下载复制 dll“php_amqp.dll”到您的 php 扩展文件夹,在我的情况下它是“xampp/php/ext”和将 dll "rabbitmq.1.dll" 复制到 "Windows\system" 目录。

        现在将您的 php_amqp dll 在 php.ini 文件中注册为 "extension=php_amqp.dll"

        现在重新启动 apache。

        完成。现在你应该不会得到 AMQPConnection not found 异常。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2013-08-18
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-07-02
          • 1970-01-01
          • 1970-01-01
          • 2017-03-17
          相关资源
          最近更新 更多