我在我们的一台服务器上运行 RabbitMQ,并试图通过 PHP 连接到它。我正在 Windows7 机器上开发,我的第一行代码如下: $cnn = new AMQPConnection();
它给了我错误: 致命错误:找不到类'AMQPConnection'
我知道这是我需要安装的东西,但它是什么?我是 PHP 新手,所以有点帮助会很好。
Ps:我可以通过 RabbitMQ admin web 界面连接到 RMQ 服务器。
谢谢杰克
php_amqp 1.4.0(稳定版)安装指南:
rabbitmq-c 库现在支持 windows,php_amqp pecl 扩展也在 windows 上构建。文档还没有更新,也没有任何官方的二进制版本。但是,我设法让它们构建并在此处下载了一些 32 位 dll:
我正在 Windows7 机器上开发
使用该特定代码可能会不走运。该类来自PECL aqmp 扩展。在安装说明中,它指出:
Windows 用户注意事项:此扩展目前不支持 Windows,因为librabbitmq库尚不支持 Windows。
您将希望使用另一个库来代替您的消息队列。
@AMQP安装 php.net:
Windows 用户注意事项:此扩展目前不支持 Windows,因为 librabbitmq 库尚不支持 Windows。
但是在 RabbitMQ 网站上有一个 Windows 安装程序...
显然这个php.net页面已经过时了
amqp.dll
到您的 phpext
文件夹rabbitmq.1.dll
到您的 Windows 系统 32 文件夹。根据我在这里找到的博客上的帖子,我认为它来自同样在这里发布的@NathanJohnson。
我是如何让它工作的:
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.ini 文件中将您的 php_amqp dll 注册为“extension=php_amqp.dll”
现在重新启动apache。
完毕。现在你不应该得到 AMQPConnection not found 异常。