繁体   English   中英

如何安装GD库? Laravel 在 AWS Lambda 与 Bref

[英]How to install GD Library? Laravel at AWS Lambda with Bref

在 laravel on lambda 中使用 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 开发

根据调查,实施如下

作曲家需要 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

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

环境

  • Laravel 框架 8.33.1
  • PHP 7.4.3
  • 简介
  • 无服务器

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

将图层放入 web “标签”。

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

functions:
    # This function runs the Laravel website/API
    web:
        image:
            name: laravel
        layers:
            - ${bref-extra:gd-php-80} #add
        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}

然后在文件夹php/conf.d里面放一个扩展名为.ini的文件。 例如 php.ini。 在它只是放:

extension=gd

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM