OldSoundRabbitMqBundle을 사용하여 RabbitMQ 소비자를 실행하는 Symfony 3.1.x 프로젝트가있는 RabbitMQ 컨테이너와 PHP 7 컨테이너가 있습니다.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) 입니다. (210)
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
를 구현하는 매우 간단한 클래스입니다 인터페이스.
누군가 내 문제와 관련하여 어떤 생각을 갖고 있습니까?
이것은 보류중인 메시지없이 발생합니다. – yceruto
@Yonel 예, 대기중인 메시지가 없어도 발생합니다. 나는 RabbitMQ 측면에서 어떤 오류도 보지 못했다. –
예외는'SocketIO.php' 또는'StreamIO.php'에서 온 것입니까? – yceruto