crhg / laravel-env-check
v1.2.3
2018-04-11 06:12 UTC
Requires
- php: >=7.0
- laravel/framework: ^5.5
This package is auto-updated.
Last update: 2024-09-21 20:33:26 UTC
README
增强配置缓存和环境检查。
描述
禁止在配置缓存时指定显式环境
Laravel的环境可以通过 artisan 命令的 --env 选项或 APP_ENV 环境变量来指定,但在配置缓存时指定的环境会被忽略。
由于这可能是危险的,当配置被缓存时,禁止使用 --env 选项或 APP_ENV 环境变量来指定环境。
禁止为 config:cache 命令指定环境
使用 config: cache 命令生成配置缓存时,禁止使用 --env 选项或 APP_ENV 环境变量来指定环境。因此,只能缓存 .env 文件中描述的默认环境。
与 .env 文件的一致性检查
当生成配置缓存时保存 .env 文件的校验和。检查它是否与当前 .env 文件匹配。如果不匹配,将发生错误。
排除检查的命令
一些 artisan 命令不依赖于环境,因此排除它们进行检查。
如果您想添加一些要排除的命令,请使用 config/env_check.php 中的 excluded_command 设置。
安装
composer require crhg/laravel-env-check php artisan vendor:publish --provider='Crhg\EnvCheck\Providers\EnvCheckServiceProvider'
在 bootstrap/app.php 中的 return $app 之前添加以下代码;
$app->singleton(\Crhg\EnvCheck\EnvChecker::class); $app->beforeBootstrapping( \Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables::class, function ($app) { $checker = $app->make(\Crhg\EnvCheck\EnvChecker::class); $checker->examineEnvironmentVariables(); } );
示例
- 如果
local环境被缓存
% php artisan migrate:status --env=foo Don't use --env option when configuration is cached
- 如果在
config:cache之后修改了.env
% php artisan migrate:status .env hash unmatch