A package that makes sure that your .env file is in sync with your .env.example
Keep your .env in sync with your .env.example or vice versa.
It reads the .env.example file and makes suggestions to fill your .env accordingly.
Start by requiring the package with composer
composer require jtant/laravel-env-sync
Then, if you use laravel < 5.5, add the
Jtant\LaravelEnvSync\EnvSyncServiceProvider::class service provider to your
config/app.php file, and that's it
You can populate your .env file from the .env.example by using the
php artisan env:sync command.
The command will tell you if there's anything not in sync between your files and will propose values to add into the .env file.
You can launch the command with the option
--reverse to fill the .env.example file from the .env file
You can also use
--dest to specify which file you want to use. You must use either both flags, or none.
If you use the
--no-interaction flag, the command will copy all new keys with their default values.
You can check if your .env is missing some variables from your .env.example by using the
php artisan env:check command.
The command simply show you which keys are not present in your .env file. This command will return 0 if your files are in sync, and 1 if they are not, so you can use this in a script
Again, you can launch the command with the option
--reverse or with
The command will also dispatch event
Jtant\LaravelEnvSync\Events\MissingEnvVars, which will contain the missing env variables, which could be used in automatic deployments. Event is only fired when there are missing env variables.
You can show a table that compares the content of your env files by using the
php artisan env:diff command.
The command will print a table that compares the content of both .env and .env.example files, and will highlight the missing keys.
You can launch the command with the options