Laravel ImageMagick在控制器中工作,但;“不可用”;排队?

Laravel ImageMagick在控制器中工作,但;“不可用”;排队?,laravel,laravel-5,imagemagick,imagick,Laravel,Laravel 5,Imagemagick,Imagick,我几乎是疯了,想把这个修好。我在控制器中使用ImageMagick,它工作正常。我现在尝试将其中一些函数移动到队列作业中,它现在说“ImageMagick模块不适用于此PHP安装。” 把它们移回去,一切都会恢复正常。把他们放到作业中,一切都会中断 我不确定我能提供什么样的背景,真的。我正在控制器和作业中导入相同的图像和图像: use Intervention\Image\ImageManagerStatic as Image; use Imagick; Image::configure(['d

我几乎是疯了,想把这个修好。我在控制器中使用ImageMagick,它工作正常。我现在尝试将其中一些函数移动到队列作业中,它现在说“ImageMagick模块不适用于此PHP安装。”

把它们移回去,一切都会恢复正常。把他们放到
作业中
,一切都会中断

我不确定我能提供什么样的背景,真的。我正在控制器和作业中导入相同的图像和图像:

use Intervention\Image\ImageManagerStatic as Image;
use Imagick;

Image::configure(['driver' => 'imagick']);
在控制器(和助手函数)中工作正常,但在作业中会死机:

$preview=Image::make($file)


除此之外,代码完全相同。还有其他有用的信息吗?

您可能在PHP命令行可执行文件使用的ini文件中没有
extension=imagick.so
,但在PHP Web服务器可执行文件使用的ini文件中有


如果通过在命令行上执行
php-i|grep ini
找到正在使用的ini文件,您将看到需要编辑的ini文件。

可能会有所帮助

如果您与主管一起使用队列作业

请检查您是否在命令选项部分的程序配置文件中使用正确的php可执行文件启动队列作业:

command=php/path/to/your/project/artisan队列:工作sqs--sleep=3--trys=3

如果您在Mac OS中使用带管理器的队列作业,则可能是这样的:


command=/usr/local/ceral/php/7.4.8/bin/php/path/to/your/project/artisan queue:work sqs--sleep=3--trys=3

您是否执行了
编写器转储自动加载
php artisan queue:restart
我没有这些帮助。您的本地设置容器或简单的mamp/xamp?标准mamp设置是什么。phpinfo()显示ImageMagick已安装并正在工作-我可能猜作业是通过终端运行的,而控制器不运行还是什么?操作系统运行
php artisan schedule:run
,然后在后台以php执行所有操作,这样就不会影响任何内容。使用
php artisan queue:work--trytes=1重试这将显示具体错误。。。或者使用数据库记录失败的作业,这样你就可以检查到底是什么失败了。。。