[PHP] Win+php8安装amqp扩展,使用RabbitMQ(问题解决)

39 阅读1分钟
  • 1.从pecl官网下载对应的扩展文件
https://pecl.php.net/package/amqp/1.11.0/windows

image.png

  • 2.放到对应的目录(注意rabbitmq.4.dll是放到根目录)

image.png

  • 3.修改php.ini (不用写全文件名)
extension=amqp
  • 4.查看php -m

image.png

在tp6项目中使用

    1. 安装扩展, 这里需要指定版本为3.5+, 否则是默认的2.8+
composer require php-amqplib/php-amqplib 
  • 1.2 需要开启sockets扩展, 直接打开, 不用到pecl中下载

image.png

  • 1.3.如果之前安装的是2.8, 手动更新
  // 1.修改composer.json  
 "php-amqplib/php-amqplib": "^3.5"
 
 // 2.更新
composer update php-amqplib/php-amqplib
    1. 新的报错, 解决方法:创建队列时选择非持久
[PhpAmqpLib\Exception\AMQPProtocolChannelException]
  PRECONDITION_FAILED - inequivalent arg 'durable' for queue 'hello' in vhost '/': received 'false' but current is 'true'