A Laravel package to add support for .env.local
files, allowing you to override environment variables defined in the main .env
file without modifying it. This is particularly useful for local development and testing environments.
You can install this package via Composer:
composer require akmnahid/laravel-local-env-support
To install directly from VCS repository in your composer.json
:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/akmnahid/laravel-local-env-support"
}
],
"require": {
"akmnahid/laravel-local-env-support": "dev-main"
}
}
Then run:
composer update
-
Create a
.env.local
file in the root directory of your Laravel project. -
Add environment variables to
.env.local
that you wish to override from the main.env
file.Example
.env.local
:APP_DEBUG=true DB_HOST=localhost
-
Ensure
.env.local
is added to your.gitignore
file to prevent it from being committed to version control. -
Clear the configuration cache if you have previously cached your configurations:
php artisan config:clear
-
Run your application as usual. Variables defined in
.env.local
will override those in.env
.
-
Override Environment Variables: Variables in
.env.local
will override those defined in.env
. -
Easy to Use: Simply install the package and create a
.env.local
file. -
Auto-Discovery: The package uses Laravel's auto-discovery feature, so no additional setup is required.
- PHP: >=7.3
- Laravel: >=8.0
- Dependencies:
vlucas/phpdotenv
: >=5.5
This project is licensed under the MIT License. See the LICENSE file for details.
-
Environment File Order: The variables in
.env.local
will override those in.env
. This allows you to keep default settings in.env
and customize only the necessary variables in.env.local
. -
Version Control: It's recommended to add
.env.local
to your.gitignore
file to prevent sensitive data from being committed to your repository. -
Configuration Caching: If you cache your configurations using
php artisan config:cache
, remember to clear the cache whenever you make changes to your environment files.php artisan config:clear
-
Auto-Discovery: This package supports Laravel's package auto-discovery, so you don't need to manually add the service provider to your
config/app.php
file. -
To Add Manually: Add following to your config/app.php file:
'providers' => [
// Other Service Providers
\LaravelEnvLocal\EnvLocalServiceProvider::class, // Add this line
],
-
Variables Not Overriding: If the variables from
.env.local
are not overriding those from.env
, ensure that:- The
.env.local
file is located in the root directory of your Laravel project. - You have cleared the configuration cache using
php artisan config:clear
. - There are no syntax errors in your
.env.local
file.
- The
-
Cache Issues: Remember that environment variables are cached when you run
php artisan config:cache
. Always clear the cache after making changes to your environment files.
- Author: Nahid Hossain
- Website: http://www.akmnahid.com
- GitHub: https://github.com/akmnahid/laravel-local-env-support
If you encounter any issues or have questions, feel free to open an issue on GitHub .
This project adheres to Semantic Versioning. For the versions available, see the tags on this repository.
All notable changes to this project will be documented in this section.
- v1.0.3: Updated readme.md
- v1.0.2: Updates with new codebases
- v1.0.1: Initial release with support for loading
.env.local
files. - v1.0.0: Initial release with support for loading
.env.local
files.
Feel free to customize and extend this package to suit your specific needs. Contributions and suggestions are welcome!