This topic is quite interesting. Because you must not skip configuring you application when you develop with Laravel.
Before I wrote this tutorial, I do research on this topic. I just found a little tutorial and the tutorials are not easy to understand.
So I write this tutorial. Then you can set your Laravel 5 environment in just 3 steps.
1. Open your Laravel 5 root folder. Please find a file ".env.example". If you don't find it, please make sure your folder configuration is showing hidden file.
2. Copy and rename into ".env"
$ cp .env.example .env
3. Open ".env" file and make a change according to your environment.
APP_ENV=local APP_DEBUG=true APP_KEY=1234567890123456789012 DB_HOST=localhost DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret CACHE_DRIVER=file SESSION_DRIVER=file
I assume you try this tutorial on your local machine. When you push your file into the repository, make sure don't not commit ".env" file. You certainly don't want people see this configuration or the production server use this configuration.
I quote from the developer in His GitHub repository readme.md file;
phpdotenv is made for development environments, and generally should not be used in production. In production, the actual environment variables should be set so that there is no overhead of loading the .env file on each request. This can be achieved via an automated deployment process with tools like Vagrant, chef, or Puppet, or can be set manually with cloud hosts like Pagodabox and Heroku.
So, in the production server, you don't need to create ".env" file. Application will choose the default configuration in "app_root/app/config" folder.
All variables that you find in ".env" file is related to the array key-value that you have found in "app_root/configuration/*" file which use env() function.
For example, open "app_root/configuration/app.php" file, you can see like below
return [ 'debug' => env('APP_DEBUG'), 'url' => 'http://localhost', 'timezone' => 'UTC', 'locale' => 'en', 'fallback_locale' => 'en', 'key' => env('APP_KEY', 'SomeRandomString'), 'cipher' => MCRYPT_RIJNDAEL_128, 'log' => 'daily', [...]
This is similiar to ".env" variables; APP_DEBUG, APP_KEY
So, when you have ".env" file in your root application, ".env" variables will override all of your array value related to array key that the application found at ".env". If you don't have ".env" file, the application use all of the configuration in "app_root/config" folder.
And if you still want to configure it manually for one-time purpose in you production server, simple set something like this;
'debug' => env('APP_DEBUG',true),
Thats it :)