laravel6 使用rabbitmq报错:Call to a member function make() on null at Queue\\Jobs\\Job.php:215

本文详细讲述了在使用vladimir-yuldashev/laravel-queue-rabbitmq时遇到的错误,涉及null引用和预条件失败问题,通过版本锁定和正确的依赖管理解决了队列消费程序的报错,确保了应用的稳定运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

报错信息

[previous exception] [object] (Error(code: 0): Call to a member function make() on null at ~\\vendor\\laravel\\framework\\src\\Illuminate\\Queue\\Jobs\\Job.php:215)

另外,以下情况报错可能也是由于此问题产生,可以参考是否能够解决:

 PhpAmqpLib\Exception\AMQPProtocolChannelException  : PRECONDITION_FAILED - inequivalent arg 'x-dead-letter-exchange' for queue 'lauwen' in vhost 'lauwen': received the value 'lauwen' of type 'longstr' but current is none

PhpAmqpLib\Exception\AMQPProtocolChannelException  : PRECONDITION_FAILED - inequivalent arg 'durable' for queue 'lauwen' in vhost 'lauwen': received 'true' but current is 'false'

原因及解决

以上原因是由于使用的库vladimir-yuldashev/laravel-queue-rabbitmq版本问题造成的,根据该库文档laravel6需要依赖v9.0或v10.0,所以我在安装过程中限制了版本为10.0,如下:

composer require vladimir-yuldashev/laravel-queue-rabbitmq:10.0

这样就会造成以上问题的出现,导致队列消费程序不能正常消费,正确安装是不指定具体的版本:

composer require vladimir-yuldashev/laravel-queue-rabbitmq:~10.0

这样安装的将是v10.2.3版本的库,报错就不会发生。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值