Laravel Queue 队列中使用 Intervention/image 包无法成功执行队列任务 1

问题背景#

批量生成付款码,需要用 Intervention/image 包来将付款码背景和付款码合在一起,并且需要加付款码的文字水印等。所以选择了这个包来处理图片。

因为生成合成图片是非常耗时的操作,所以我打算用 queue 队列来处理这些操作。

在控制器中写图片操作没问题
Laravel Queue 队列中使用 Intervention/image 包无法成功执行队列任务

但是当我吧相同的方法放到 queue 的时候问题就来了。执行失败,并且 queue 的错误日志我也找不到在哪里看,自己 try catch 也捕获不到任何异常,
Laravel Queue 队列中使用 Intervention/image 包无法成功执行队列任务

这两行代码加上后就会执行失败,但在控制器中是完全没问题的。实在没找到原因,求解
Laravel Queue 队列中使用 Intervention/image 包无法成功执行队列任务

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
KunHong
最佳答案

你这个 看错误日志 就知道是什么地方报错了

5年前 评论
讨论数量: 6

逐步断点 dd 试试

5年前 评论
KunHong

你这个 看错误日志 就知道是什么地方报错了

5年前 评论
ALMAS

env 中把队列调成同步的,在 dd 一步步调试看看

5年前 评论
wanghan

我感觉是不是 php-cli 和 php-fpm 不是一个用户,导致 php-cli 的用户写入不了文件,权限问题吧

5年前 评论

问题解决没,我的日志报错 Image source not readable。如果不放队列里就正常

3年前 评论

我的报错: Image source not readable。 我的解决方案是,在 Image.make () 里的在路径路前加 public 就可以了。如 Image.make ("public/image/123.jpg");

3年前 评论