Laravel 5 拉维尔5号队列

Laravel 5 拉维尔5号队列,laravel-5,queue,Laravel 5,Queue,在本地服务器上运行php artisan queue:work时,一切正常,但在生产服务器上,所有排队的作业/通知/邮件都失败 它为我失败的作业显示此错误: 异常“ErrorException”,消息为“include/var/www/addondomains/mutual.ecocas.int/vendor/composer/。/laravel/framework/src/illighte/Mail/SendQueuedMailable.php:未能打开/var/www/…/vendor/co

在本地服务器上运行php artisan queue:work时,一切正常,但在生产服务器上,所有排队的作业/通知/邮件都失败

它为我失败的作业显示此错误:

异常“ErrorException”,消息为“include/var/www/addondomains/mutual.ecocas.int/vendor/composer/。/laravel/framework/src/illighte/Mail/SendQueuedMailable.php:未能打开/var/www/…/vendor/composer/ClassLoader.php中的流:没有这样的文件或目录”

异常“InvalidArgumentException”,在/var/www/…../vendor/laravel/framework/src/illighte/View/FileViewFinder.php:137中显示消息“未找到查看[电子邮件]”

如果我将队列驱动程序更改为同步,则一切正常。否则,一切都将失败

我有什么遗漏吗?

作曲家转储autolaod


在更改队列文件后

在我的例子中,重新启动队列工作程序解决了这个问题。他们的正常运行时间是500天左右。因此,旧代码加载到内存中,导致无法解释的异常。

错误显示:

未能打开流:在/var/www/…/vendor/composer/ClassLoader.php中没有这样的文件或目录

可能您缺少依赖项。您应该尝试在生产服务器上安装composer,并检查运行PHP的用户是否有权访问文件夹,例如在Ubuntu上,它通常是www数据用户

请登录到生产服务器并运行composer安装。而且,如果您是手动部署,我还建议您使用Jenkins或类似的工具,它们可以在部署期间为您处理此类事情


如果这不起作用,请发布有关您的服务器版本等的更多信息,以便我们可以帮助您。

composer dump Autoladi也有同样的问题。它是在我从Laravel 5.6升级到5.8之后开始的。同步代码工作正常,排队作业引发视图未找到异常。尝试了不同的方法,如重新启动FPM、转储composer的自动加载、清除应用程序和视图缓存。什么都没用。因为代码是在同步模式下工作的,所以我认为不太可能是缺少依赖关系造成的。