我有一個RabbitMQ容器和一個PHP 7容器,其中包含Symfony 3.1.x項目,該項目使用OldSoundRabbitMqBundle執行RabbitMQ使用者。在Symfony中執行RabbitMQ使用者時出現「讀取數據時出錯」
當運行這個命令執行test
消費者:
bin/console rabbitmq:consumer -w test
我收到以下錯誤:
[PhpAmqpLib\Exception\AMQPIOException]
Error reading data. Received 0 instead of expected 7 bytes
我的設置是非常簡單的,我檢查了以下幾件事:
- RabbitMQ是其最新版本(3.6.5)
- 配置的
host
,vhost
,user
,password
參數都正確 mbstring
擴展啓用
這真的很容易建立一個項目,重現該問題。
示例項目爲available on GitHub,並在自述文件中提供了說明,僅通過幾個步驟即可重現問題。
這裏有一些亮點:
泊塢窗,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
一個非常簡單的類接口。
有人會對我的問題有任何想法嗎?
這發生沒有任何懸而未決的消息? – yceruto
@Yonel是的,即使沒有任何懸而未決的信息也會發生。我在RabbitMQ方面看不到任何錯誤。 –
來自'SocketIO.php'或'StreamIO.php'的異常? – yceruto