首页 > 解决方案 > 如何安装 GD 库?AWS Lambda 上的 Laravel 和 Bref

问题描述

在 lambda 上的 laravel 中使用 Intervention\Image 时出现以下错误。顺便说一句,它在本地环境中工作。

我必须添加gd。

[2021-08-17 10:37:18] DEV.ERROR:GD 库扩展不适用于此 PHP 安装。{"exception":"[object] (Intervention\Image\Exception\NotSupportedException(code: 0): GD Library extension not available with this PHP installation. at /var/task/vendor/intervention/image/src/Intervention/Image /Gd/Driver.php:19)

我查到的

https://bref.sh/docs/environment/php.html#extensions

https://github.com/brefphp/extra-php-extensions

部署方式

我们正在使用 sls 命令部署到 lambda。

sls 部署--stage dev

根据调查,实施如下

作曲家需要 bref/extra-php-extensions

在 serverless.yml 下面添加


plugins:
    - ./vendor/bref/bref
    - ./vendor/bref/extra-php-extensions #add

functions:
    # This function runs the Laravel website/API
    web:
        image:
            name: laravel
        events:
            -   httpApi: '*'
    # This function lets us run artisan commands in Lambda
    artisan:
        handler: artisan
        timeout: 120 # in seconds
        layers:
            - ${bref:layer.php-80}
            - ${bref:layer.console}
            - ${bref-extra:gd-php-80} #add

即使添加并部署了上述设置,它们也不会更新。.. 为什么?

环境

如果英语很奇怪,我很抱歉。

标签: phplaravellambdaserverlessbref

解决方案


推荐阅读