我有一个RabbitMQ容器和一个带有Symfony 3.1.x项目的PHP 7容器,该项目使用OldSoundRabbitMqBundle执行RabbitMQ使用者。
运行执行test
消费者的此命令时:
bin/console rabbitmq:consumer -w test
我收到以下错误:
[PhpAmqpLib \异常\ AMQPIOException]
读取数据时出错。收到0而不是预期的7个字节
我的设置非常简单,我检查了以下内容:
host
,vhost
,user
,password
参数正确mbstring
分机已启用设置项目以重现问题非常容易。
示例项目为available on GitHub,并在README文件中提供说明,只需几步即可重现该问题。
以下是一些亮点:
搬运工-compose.yml
version: '2'
services:
php:
build: ./docker/php/
links:
- rabbitmq
volumes:
- ./src:/var/www/rabbitmq-test
working_dir: /var/www/rabbitmq-test
rabbitmq:
image: rabbitmq:3.6-management
config.yml
old_sound_rabbit_mq:
connections:
default:
host: 'rabbitmq'
port: 5672
user: 'guest'
password: 'guest'
vhost: '/'
lazy: false
# ...
producers:
# ...
consumers:
test:
connection: default
exchange_options: {name: 'test', type: direct}
queue_options: {name: 'test'}
callback: test_consumer
test_consumer
服务是一个实现ConsumerInterface
接口的非常简单的类。
有人对我的问题有任何想法吗?
答案 0 :(得分:2)
答案非常简单。我必须在我的config.yml
中更改此内容:
old_sound_rabbit_mq:
connections:
default:
# ...
use_socket: true
为:
old_sound_rabbit_mq:
connections:
default:
# ...
use_socket: false
请注意,false
是默认值。