crhg / laravel-env-check
Installs: 49
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/crhg/laravel-env-check
Requires
- php: >=7.0
- laravel/framework: ^5.5
This package is auto-updated.
Last update: 2025-10-21 23:00:02 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 localenvironment is cached:
% php artisan migrate:status --env=foo Don't use --env option when configuration is cached
- If .envis modified afterconfig:cache:
% php artisan migrate:status .env hash unmatch