akmnahid / laravel-local-env-support
laravel-local-env-support 插件允许 Laravel 开发者无缝集成特定环境的 .env.local 配置,增强不同开发阶段的适应性。
Requires
- php: >=7.3
- illuminate/support: >=8.0
- vlucas/phpdotenv: >=5.5
README
这是一个 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
用法
-
在您的 Laravel 项目的根目录下创建一个
.env.local
文件。 -
将您希望在主
.env
文件中覆盖的环境变量添加到.env.local
。示例
.env.local
APP_DEBUG=true DB_HOST=localhost
-
确保将
.env.local
添加到您的.gitignore
文件中,以防止将其提交到版本控制。 -
如果您之前已缓存了配置,请清除配置缓存
php artisan config:clear
-
像往常一样运行您的应用程序。在
.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
时,环境变量会被缓存。在修改环境文件后,始终清除缓存。
致谢
- 作者:Nahid Hossain
- 网站:http://www.akmnahid.com
- GitHub: https://github.com/akmnahid/laravel-local-env-support
支持
如果您遇到任何问题或有问题,请随时在GitHub上创建一个issue。
版本控制
本项目遵循语义化版本控制。有关可用版本,请参阅此存储库的标签。
变更日志
本项目所有显著的更改都将记录在本节中。
- v1.0.3: 更新了readme.md文件
- v1.0.2: 更新了新的代码库
- v1.0.1: 首次发布,支持加载
.env.local
文件。 - v1.0.0: 首次发布,支持加载
.env.local
文件。
您可以根据自己的需求自定义和扩展此包。欢迎贡献和建议!