我已经使用最新的Laradock和composer安装了RabbitMQ(3.7.6)的Laravel(5.6)应用程序
https://github.com/vyuldashev/laravel-queue-rabbitmq。当我使用php artisan queue:work
启动Laravel消息工作程序时,出现以下错误
local.ERROR: AMQP error while attempting pop: stream_socket_client():
unable to connect to tcp://127.0.0.1:5672 (Connection refused)
但是,我可以使用telnet 127.0.0.1 5672
连接到Rabbit(在闲置10秒钟后,连接将关闭)。听众似乎工作正常:
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"},{http,15672,"::"}]}
我也检查了RabbitMQ日志,但是那里什么也没有显示。因此,我认为这在客户端是个问题,但我不确定在哪里看。
Laravel .env
中的RabbitMQ设置
QUEUE_DRIVER=rabbitmq
RABBITMQ_QUEUE=default
RABBITMQ_DSN=amqp:
拉达克.env
RABBITMQ_NODE_HOST_PORT=5672
RABBITMQ_MANAGEMENT_HTTP_HOST_PORT=15672
RABBITMQ_MANAGEMENT_HTTPS_HOST_PORT=15671
RABBITMQ_DEFAULT_USER=guest
RABBITMQ_DEFAULT_PASS=guest
有什么想法吗?
答案 0 :(得分:0)
我在Notification类的类定义行中缺少implements ShouldQueue
。另外,我必须用bcadd
和mongodb
扩展名构建php-worker。
RUN pecl install mongodb && docker-php-ext-enable mongodb
RUN docker-php-ext-install mysqli mbstring pdo pdo_mysql tokenizer xml pcntl bcmath