我已经快要解决这个问题了。我在控制器中使用ImageMagick,并且工作正常。我现在已经尝试将其中一些功能移到排队的工作中,并且现在说“ ImageMagick模块不适用于此PHP安装。”
将它们移回原位,一切都会恢复。将它们放入Job
中,一切都会中断。
我不确定我可以提供什么环境。我正在控制器和作业中导入Image和Imagick相同:
use Intervention\Image\ImageManagerStatic as Image;
use Imagick;
Image::configure(['driver' => 'imagick']);
在控制器(和辅助功能)中工作正常,但在作业中死亡:
$preview = Image::make($file);
相同的代码,除此之外。还有其他有用的信息吗?
答案 0 :(得分:0)
PHP命令行可执行文件使用的ini文件中可能没有extension=imagick.so
,而PHP Web服务器可执行文件使用的ini文件中却没有php -i | grep ini
。
如果通过在命令行上执行melt
来查找正在使用的ini文件,则会看到需要编辑哪些ini文件。
答案 1 :(得分:0)
可能会帮助
如果您正在与主管一起使用队列作业。
请检查您是否在命令选项部分的程序配置文件中使用正确的php可执行文件启动队列作业:
command = php / path / to / your / project / artisan队列:work sqs --sleep = 3 --tries = 3
如果在Mac OS中将队列作业与主管一起使用,则可能是这样:
command = / usr / local / Cellar / php / 7.4.8 / bin / php / path / to / your / project / artisan queue:work sqs --sleep = 3 --tries = 3