问题标签 [bref]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何在 PHP 中计算 AWS 签名?
我正在 bref 中编写一个 webhook,并希望它向 SQS 发送消息。为此使用整个 AWS 开发工具包是一种巨大的浪费。我如何计算签名?
php - 将 Bref Lambda 自定义运行时与 AWS CDK 一起使用时出现错误 libncurses.so.6
我正在尝试使用 AWS CDK 而不是 Serverless 在 AWS Lambda 中使用 Bref 自定义运行时。
CDK 代码如下所示。
这是完整的源代码https://github.com/petrabarus/cdk-bref-function
当我尝试使用 AWS CLI 手动调用时aws lambda invoke --function-name arn:blabla
,它显示错误。
Cloudwatch 日志显示类似这样的内容。
如果我将部署与无服务器框架进行比较,配置(层、代码等)几乎相同。我错过了什么?
php - 带有 Neos CMS 的 AWS Lambda 的 bref.sh php 容器
我正在努力让 Neos(基于 php 的 cms)在 AWS Lambda 的 docker 容器中运行。我想我在某个地方有误会,希望有人能提供帮助。
到目前为止我做了什么:
- 我调整了 Neos,以便将所有缓存文件写入 tmp 文件夹
- 我将 bref 和 extra-php-extensions 包添加到 composer.json
- 我创建了一个 docker 文件,非常简单,如 Mattheu Naploli 的博客文章所示:https ://mnapoli.fr/aws-lambda-php-docker-containers/
- 我创建了一个 cloudformation 模板来使用
sam local start-api
Dockerfile:
模板.yml
的回应sam local start-api
:
我不明白的是,我希望总是返回一个有效的 json,即使 php 提供了 5xx 错误。我迷路了......即使情况并非如此,我该如何调试问题?
最后,我必须创建自己的 docker 镜像,因为 Neos 太大而无法使用 bref 层,我需要相当多的 php 扩展。如果我能理解当前的问题,我可以解决这个问题并为每个人提供一个工作容器。
我还有几个问题,在这种情况下,我是否有一个 Web 应用程序并使用容器,我是否必须使用 composer 安装 bref 包?这在博客文章中并不清楚。我还必须在 serverless/sam 中设置处理程序吗?如果是这样,这将是正确的字符串,因为那Web/index.php
是 Neos 中的路径?
总的来说,Neos 在 AWS 中会非常出色。我的设置是:
- CloudFront 具有从 S3 和其他一切到 lambda 的静态文件的行为
- Redis 存储来自 Neos 的缓存文件
- ElasticSearch 用于网站搜索并提高大型网站的性能
一旦这工作正常,我将免费为 Neos 社区发布所有信息以使其正常工作。
希望有人可以帮助...
谢谢!
laravel - 发生错误:ArtisanLambdaFunction - 解压后的大小必须小于 220606645 字节(服务:Lambda,状态码:4000
我试图使用 Bref 将我的 Laravel 应用程序部署到 AWS Lambda。我试图排除几乎所有的图像、视频,但我仍然得到
我的 serverless.yml 文件是
我试图从 zip 中排除几乎所有资产。不过,我得到了同样的错误。压缩时,我的应用程序的总大小仅为 119.4 MB。
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 下面添加
即使添加并部署了上述设置,它们也不会更新。.. 为什么?
环境
- Laravel 框架 8.33.1
- PHP 7.4.3
- 布雷夫
- 无服务器
如果英语很奇怪,我很抱歉。
php - Bref PHP 将会话存储在 redis 中但无法读取
我正在尝试使用 redis 作为运行 bref php 的 lambda 会话驱动程序。它按预期写入数据(我可以使用 redis-cli 看到它)并存储在 $_SERVER 上,但是当您刷新页面时,会话为空。我没有使用框架,只是纯 php。
这是当前的行为:
- 浏览器 cookie 正确(名称 PHPSESSID 和与 redis 中相同的 id)
- var_dump($_COOKIE) 显示预期信息
- session_start() 返回真
- var_dump($_SESSION) 刷新后为空
- var_dump(ini_get("session.save_handler")) 显示正确的值
- var_dump(ini_get("session.save_path")) 显示正确的值
- 我可以在 redis-cli 实时监视器上看到 php 正在获取正确的密钥
这是我的serverless.yml相关部分:
我的 php/conf.d/php.ini:
它似乎被应用了,因为这是我的 phpinfo() 输出:
我不知道我是否缺少任何配置。有谁看到出了什么问题?
laravel - Laravel 使用 Lambda 迁移到 AWS RDS
我正在寻找Laravel
在AWS Lambda
. 该应用程序需要PostgreSQL
数据库访问权限。
这个想法是Bref
用来部署在 AWS Lambda 上的。我手动创建了一个 RDS PostgreSQL 数据库并更新了入站规则并将连接参数添加到应用程序中的 .env 文件和 serverless.yml 模板中。
部署应用程序后,我收到错误消息SQLSTATE[42P01]: Undefined table
。我相信问题是没有发生迁移。那么问题来了,如何从 Laravel/Lambda 迁移到 RDS?我应该使用工匠和 CLI 吗?或者有一种方法可以创建一种自动化的迁移方式?
谢谢
aws-lambda - Lambda、Bref 和 Symfony:命令不显示
我正在使用 Bref 和 Symfony 在 AWS Lambda 中制作控制台应用程序。
我在本地开发了两个命令,这些都是可用的。
接下来,我按照教程https://bref.sh/docs/runtimes/console.html将 lambda 函数部署到 AWS,但是当我运行 lambda 函数时,我的命令没有出现。
我的 serverless.yml 文件:
有人可以帮助我吗?
谢谢。
laravel - 错误 AWS SQS POST 作业,在无服务器上使用 Laravel
我有一个连接到AWS Lambda服务的无服务器Laravel api,它尝试按照 Laravel 文档的建议(https://laravel.com/docs/7.x/queues#dispatching-jobs)做一个简单的工作。
我的 ProcessPodcast 作业尝试使用SQS服务,但返回错误。
我有这个错误返回:
我的无服务.yml:
obs: 我的 serverless 正在运行,没有任何错误,我可以正常访问公共页面...
php - 在 LocalStack Lambda 上使用 Bref 运行 PHP-FPM
我正在尝试在 LocalStack (AWS Lambda) 上运行 (Symfony) PHP 应用程序。根据 Bref 文档的建议,我使用 ${bref:layer.php-81-fpm} 层。调用函数失败,LocalStack 日志显示:
ALERT: [pool default] 用户尚未定义
这导致了 Bref 的 PHP-FPM 配置,其中用户 nobody 配置为默认池。该用户存在于 LocalStack docker 镜像中,但我猜测它不存在于 LocalStack 的 lambda 执行器镜像中(当使用非 FPM PHP 时,它是在 root 下调用的)。反对这种假设的是,设置 LAMBDA_EXECUTOR=local 时错误消息是相同的,但我对 LocalStack 太陌生,无法确定到底发生了什么。
所以我的问题是如何解决这个问题。也许我可以破解 Bref 的 PHP 配置并切换到 root。但我更喜欢调整 LocalStack,以便 Bref 可以配置为与生产中的相同(尤其是不作为 root)。也许可以更改 Lambda 执行者用户?我没有找到任何关于它的东西。
顺便说一句,在真实的 AWS 环境中,一切都按预期工作。
在 Docker 中使用 LocalStack 0.13.3,Bref 1.5.2 和 PHP 8.1 层。
感谢帮助!