Laravel:使用Bref的AWS Lambda出现Imagick和GD错误

问题描述

我使用Bref在AWS Lambda上建立了一个laravel应用程序。一切正常,包括文件系统和s3 filestorage。我使用spatie's medialibrary处理文件上传和媒体转换,并且可以轻松上传文件

当我尝试使用GDImagick进行图像转换时,出现问题。

每当我尝试进行转换时,都会出现以下错误

使用Imagick时:

Intervention\Image\Exception\NotReadableException
Unable to read image from path (/tmp/Glide0PSwRU).

使用GD时:

Intervention\Image\Exception\NotReadableException
Unsupported image type. GD driver is only able to decode JPG,PNG,GIF or WebP files.

仅当在AWS Lambda上运行应用程序时才会发生。如果我在本地环境或其他服务(例如Google App Engine)上运行,则使用“相同”的代码配置(与上传/媒体转换有关)。

解决方法

在项目中创建一个php/conf.d/php.ini 然后添加extension=imagickextension=gd以启用这些扩展名

您可以阅读文档here