Как устранить ошибку "[ErrorException] file_get_contents (/var/www/laravel/.env): не удалось открыть поток: нет такого файла или каталога"?

Я использую Ubuntu 14.04 на своей машине. Я установил композитор, а затем laravel в корневом каталоге документа i.e. /var/www

Я также передал -R 777 передачу в папку laravel, присутствующую в каталоге /var/www

Затем я перехожу в каталог laravel с помощью cd/var/www/laravel и запускаю следующую команду php artisan, и я должен увидеть все доступные команды там.

Затем я набрал ключ php artisan: сгенерировал и получил ошибку

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

введите описание изображения здесь Здесь я застрял на самом деле, может кто-то, пожалуйста, помогите мне в этом отношении?

Спасибо.

Ответ 1

Переименуйте .env.example в .env в свою корневую папку laravel

Ответ 2

Файл .env еще не существует, потому что вам сначала нужно его создать и настроить.

Сделайте следующее

# 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

Ответ 4

Возможно, вы пропустили свой файл .env в папке проекта laravel. Сделайте файл .env.example to .env. Также укажите требуемое соединение с базой данных.

.env файл выглядит следующим образом: (Заполните требуемое подключение к базе данных)

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

Надеюсь, это поможет вам. Спасибо.

Ответ 5

Если, как и у меня, у вас был файл .env, вы можете обнаружить, что у него есть слишком жесткие разрешения, чтобы позволить текущему пользователю писать в него (и, как следствие, команду php artisan, которую пытается запустить текущий пользователь). Я изменил все свои файлы Laravel, чтобы они принадлежали www-data:www-data и сделал моего текущего пользователя членом группы www-data, и, таким образом, эта ошибка была немного озадачена.

Однако вскоре я понял, что мой файл .env имеет следующие разрешения:

-rw-r--r--

... то есть пользователь, которому принадлежит файл, получает доступ для чтения и записи, но группа и мир могут только читать. Поскольку мой текущий пользователь является членом группы www-data, он может только читать, а не писать.

(Вы можете проверить свои права доступа к файлу, выполнив $ ls -la)

Если у вас такая же ситуация, у вас есть два варианта; ослабьте права доступа к файлу для этого файла (с помощью chmod) или используйте sudo для запуска команд php artisan. Я выбрал последнее, так как это рабочий сервер для меня, и мне нравятся жесткие разрешения.

Ответ 6

Вы можете создать его и снова запустить команду.

# cd /var/www/laravel 
# cp .env.example .env       //renames .env.example to .env
# php artisan key:generate 
Application key set successfully.