akmnahid/laravel-local-env-support

laravel-local-env-support 插件允许 Laravel 开发者无缝集成特定环境的 .env.local 配置,增强不同开发阶段的适应性。

v1.0.3 2024-10-01 09:36 UTC

This package is not auto-updated.

Last update: 2024-10-02 07:31:05 UTC


README

License Total Downloads

这是一个 Laravel 包,用于添加对 .env.local 文件的支持,允许您在不修改主 .env 文件的情况下覆盖其中定义的环境变量。这对于本地开发和测试环境特别有用。

目录

安装

您可以通过 Composer 安装此包

composer require akmnahid/laravel-local-env-support

要从 VCS 仓库直接安装到您的 composer.json

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/akmnahid/laravel-local-env-support"
        }
    ],
    "require": {
        "akmnahid/laravel-local-env-support": "dev-main"
    }
}

然后运行

composer update

用法

  1. 在您的 Laravel 项目的根目录下创建一个 .env.local 文件

  2. 将您希望在主 .env 文件中覆盖的环境变量添加到 .env.local

    示例 .env.local

    APP_DEBUG=true
    DB_HOST=localhost
  3. 确保将 .env.local 添加到您的 .gitignore 文件中,以防止将其提交到版本控制

  4. 如果您之前已缓存了配置,请清除配置缓存

    php artisan config:clear
  5. 像往常一样运行您的应用程序。在 .env.local 中定义的变量将覆盖 .env 中的变量。

功能

  • 覆盖环境变量:在 .env.local 中的变量将覆盖在 .env 中定义的变量。

  • 易于使用:只需安装包并创建一个 .env.local 文件。

  • 自动发现:该包使用 Laravel 的自动发现功能,因此无需额外设置。

要求

  • PHP: >=7.3
  • Laravel: >=8.0
  • 依赖:
    • vlucas/phpdotenv: >=5.5

许可证

本项目采用 MIT 许可证。有关详细信息,请参阅LICENSE 文件。

附加说明

  • 环境文件顺序:在 .env.local 中的变量将覆盖在 .env 中的变量。这允许您在 .env 中保留默认设置,只在 .env.local 中自定义必要的变量。

  • 版本控制:建议将 .env.local 添加到您的 .gitignore 文件中,以防止敏感数据被提交到您的存储库。

  • 配置缓存:如果您使用 php artisan config:cache 缓存配置,请记住在修改环境文件时清除缓存。

    php artisan config:clear
  • 自动发现:此包支持 Laravel 的包自动发现,因此您无需手动将服务提供者添加到 config/app.php 文件中。

  • 手动添加:将以下内容添加到您的 config/app.php 文件中

'providers' => [
    // Other Service Providers

    \LaravelEnvLocal\EnvLocalServiceProvider::class, // Add this line
],

故障排除

  • 变量未覆盖:如果 .env.local 中的变量没有覆盖 .env 中的变量,请确保:

    • .env.local 文件位于您的 Laravel 项目的根目录中。
    • 您已使用 php artisan config:clear 清除了配置缓存。
    • .env.local 文件中没有语法错误。
  • 缓存问题:请记住,当您运行 php artisan config:cache 时,环境变量会被缓存。在修改环境文件后,始终清除缓存。

致谢

支持

如果您遇到任何问题或有问题,请随时在GitHub上创建一个issue。

版本控制

本项目遵循语义化版本控制。有关可用版本,请参阅此存储库的标签

变更日志

本项目所有显著的更改都将记录在本节中。

  • v1.0.3: 更新了readme.md文件
  • v1.0.2: 更新了新的代码库
  • v1.0.1: 首次发布,支持加载.env.local文件。
  • v1.0.0: 首次发布,支持加载.env.local文件。

您可以根据自己的需求自定义和扩展此包。欢迎贡献和建议!