Home » Php » How to resolve the error “[ErrorException] file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory”?

How to resolve the error “[ErrorException] file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory”?

Posted by: admin October 29, 2017 Leave a comment

Questions:

I’m using Ubuntu 14.04 on my machine. I installed composer and then laravel in the document root i.e. /var/www

I also gave -R 777 persmission to folder laravel present in directory /var/www

Then I go to directory laravel using cd /var/www/laravel and run the following command php artisan and I got to see all the available commands there.

Then I typed in php artisan key:generate and got the error

[ErrorException]  file_get_contents(/var/www/laravel/.env): failed to open stream: No such file or directory

enter image description here
Here I got stuck actually, can someone please help me in this regard?

Thanks.

Answers:

Rename .env.example to .env in your laravel root folder

Questions:
Answers:

Rename .env.example to .env and fill all properties.
https://laravel.com/docs/5.0/configuration#environment-configuration

Questions:
Answers:

The .env file is not yet present because you will first need to create and configure it.

Do the following

# Navigate to the correct folder
$ cd /var/www/laravel

# Copy the example file to make a .env file
$ cp .env.example .env

# Set the parameters
$ vi .env

Questions:
Answers:

Probably you missed your .env file in laravel project folder.So make .env.example to .env file. Also give the required database connection.

.envfile look like this: (Fill up with required database connection)

APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString
APP_URL=http://localhost

DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

Hope this will help you.Thanks.

Questions:
Answers:

If, like me, you did have a .env file, you may find it has permissions that are too tight to allow your current user to write to it (and by implication the php artisan command your current user is attempting to run). I had changed all my Laravel files to be owned by www-data:www-data and made my current user a member of the www-data group, and was thus a little stumped by this error.

However, I soon realised that my .env file has the following permissions:

-rw-r--r--

(You can check your file permissions by doing $ ls -la)

If you have the same situation, you have two choices; loosen the file permissions on that file (with chmod) or use sudo to run your php artisan commands. I chose the latter, since this is a production server for me and I like the tight permissions.