簡體   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