atymic/vapor-core

Laravel Vapor 的内核和调用处理器

资助包维护!
atymic

v2.37.1 2024-04-01 23:22 UTC

README

上游变更

默认情况下,vapor 会直接将您的 .env 变量传递给 lambda 函数。不幸的是,这有一个 2kb 的限制 - 很容易超过,尤其是与许多外部服务交互的应用程序。目前,Laravel 团队建议为每个额外的环境变量创建一个密钥,这是不可行的。

此官方包的分支增加了扩展 ENV 支持。这是通过将您的附加 .env 文件推送到一个密钥来实现的,该密钥就像 Laravel 中的正常 dotenv 一样加载。理想情况下,这将集成到核心中,但 Laravel 团队目前似乎没有优先考虑这个问题。

更改非常小且单一,您可以通过对比此分支与官方仓库来查看。

使用此包

  • 更新您的 composer.json,使用 repositories 选项指向分支。
"repositories": [
    {
        "type": "github",
        "url": "https://github.com/atymic/vapor-core"
    }
],
  • 将您的版本更新到最新标签(第一个版本为 2.21.3),其中包含密钥代码。请确保将其锁定到特定版本(否则,当 Laravel 更新主线包时,您将被升级并且没有密钥代码)。订阅 仓库的发布通知,以便在发布新版本时进行更新。
  • 创建一个额外的 .env 文件,例如,.env.extended(请确保将其添加到 .gitignore)。此文件可以长达 10kb
  • 更新您的生产部署脚本,将扩展的 env 文件推送到一个密钥(例如 vapor secret --name DOT_ENV_EXTENDED --file .env.extended production
    • 任何以 DOT_ENV 开头的名称的密钥都将由 Laravel 加载为 env 文件
  • 您的应用程序将在运行时加载额外的密钥文件!

上游 Readme

Build Status Total Downloads Latest Stable Version License

Laravel Vapor 是一个自动扩展的无服务器部署平台,用于 Laravel,由 AWS Lambda 提供。在 Vapor 上管理您的 Laravel 基础设施,并爱上无服务器扩展性和简单性。

Vapor 抽象了在 AWS Lambda 上管理 Laravel 应用程序以及将这些应用程序与 SQS 队列、数据库、Redis 集群、网络、CloudFront CDN 等接口的复杂性。

此仓库包含用于在无服务器环境中使 Laravel 应用程序平稳运行的内核服务提供者和运行时客户端。有关 Vapor 和如何使用此仓库的更多信息,请参阅 官方文档