php - 如何安装 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)
我查到的
部署方式
我们正在使用 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
即使添加并部署了上述设置,它们也不会更新。.. 为什么?
环境
- Laravel 框架 8.33.1
- PHP 7.4.3
- 布雷夫
- 无服务器
如果英语很奇怪,我很抱歉。
解决方案
推荐阅读
- google-apps-script - Folders.hasNext() 从 Google 表格返回 false,但在直接从 Google 脚本调用时返回 true
- java - 如何找到 MP3 音频剪辑的标题?
- python-3.x - Python 3 编码问题:UnicodeEncodeError: 'ascii' codec can't encode character '\\xed'
- sed - 这个 sed 命令:“sed -e :a -e '$d;N;2,10ba' -e 'P;D'” 是如何工作的?
- typo3 - 在 TYPO3 9.5.5 中为表单提交操作配置静态路由
- database - 每当更新数据库时,如何刷新表单?
- angular6 - 如何从 WebApi 在 Angular6 调度程序中的 Syncfusion 中填充数据?
- javascript - `new mongoose.Schema` 每次都使用相同的默认值
- string - 按位置将字符串拆分为元胞数组
- java - 使用java配置将sql/hql注入spring bean