在我开发的Symfony 2.7应用程序中,我需要使用RabbitMQ数据。 我安装RabbitMQBundle并且很好,但是当我尝试使用时,我收到以下错误
[PhpAmqpLib\Exception\AMQPProtocolChannelException]
ACCESS_REFUSED - access to exchange 'options' in vhost '/' refused for user 'user'
config.yml:
old_sound_rabbit_mq:
connections:
default:
host: 'my-url'
port: 5672
user: 'user'
password: 'pass'
vhost: '/'
lazy: false
connection_timeout: 3
read_write_timeout: 3
# requires php-amqplib v2.4.1+ and PHP5.4+
keepalive: false
# requires php-amqplib v2.4.1+
heartbeat: 0
consumers:
read_node:
connection: default
exchange_options: { name: 'options', type: direct}
queue_options: { name: 'options' }
callback: process_node
services.yml:
services:
process_node:
class: AppBundle\Consumer\RabbitConsumer
RabbitConsumer.php
namespace AppBundle\Consumer;
use OldSound\RabbitMqBundle\RabbitMq\ConsumerInterface;
use PhpAmqpLib\Message\AMQPMessage;
class RabbitConsumer implements ConsumerInterface{
public function execute(AMQPMessage $msg) {
return false;
}
}
console命令:
php ./app/console rabbitmq:consumer read_node
我制作了一个纯PHP脚本并正常工作 我希望有人可以帮助我
答案 0 :(得分:1)
如果您没有更改rabbitmq的默认用户设置,则必须将用户和密码更改为“guest”和“guest”。
否则,您需要在rabbitmq中创建一个名为“user”的新用户,并将密码设置为“pass”,以便您粘贴的代码可以正常工作。但我建议你把它改成合情合理的东西。
更改用户:
rabbitmqctl change_password tonyg newpass
添加用户:
add_user {username} {password}`