crhg / laravel-env-check
Requires
- php: >=7.0
- laravel/framework: ^5.5
This package is auto-updated.
Last update: 2024-11-21 21:01:10 UTC
README
Enhance checking of configuration cache and environment.
DESCRIPTION
Prohibit designation of an explicit environment when configuration is cached
Laravel's environment can be sepcified with the --env
option of artisan command or APP_ENV
environment variable, but specified environment is ignored when the configuration is cached.
Since this is potentially dangerous, when configuration is cached, it is prohibited to specify the environment with --env
option or APP_ENV
environment variable.
Prohibit designation of environment for config:cache
command
When generating the configuration cache with the config: cache
command, prohibit specification of the environment with the --env
option or the APP_ENV
environment variable.
Therefore, only the default environment described in the .env
file can be cached.
Check consistency with .env
file
Saves the checksum of the .env
file when the config cache is generated.
It is checked whether it matches that of the current .env
file.
If they do not match, an error will occur.
Commands to be excluded from check
Some artisan commands do not depend on the environment, so exclude them from checking.
If you want to add some commands to exclude, use the excluded_command
setting in config/env_check.php
.
INSTALL
composer require crhg/laravel-env-check php artisan vendor:publish --provider='Crhg\EnvCheck\Providers\EnvCheckServiceProvider'
Add the following code before return $app
in bootstrap/app.php
;
$app->singleton(\Crhg\EnvCheck\EnvChecker::class); $app->beforeBootstrapping( \Illuminate\Foundation\Bootstrap\LoadEnvironmentVariables::class, function ($app) { $checker = $app->make(\Crhg\EnvCheck\EnvChecker::class); $checker->examineEnvironmentVariables(); } );
EXAMPLE
- If
local
environment is cached:
% php artisan migrate:status --env=foo Don't use --env option when configuration is cached
- If
.env
is modified afterconfig:cache
:
% php artisan migrate:status .env hash unmatch