Как переименовать файл .env в Laravel 8

#php #laravel-8 #hidden-files #env-file

Вопрос:

В Laravel 8 файл .env хорошо защищен от доступа из общей папки. Кроме того, я добавил правило в nginx для защиты скрытых файлов

 location ~ /. {
deny all;
}
 

Тем не менее, я видел несколько запросов на сервер, ищущих файл .env в общей папке, хотя его там нет.

В обычном PHP-приложении я бы создал файл конфигурации .ini с секретным именем из общей папки. Есть ли способ переименовать файл .env во что-то другое?

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

Ответ №1:

.env имя файла определено в IlluminateFoundationApplication .

измените bootstrap/app.php файл, чтобы изменить имя файла по умолчанию.

заменять

 $app = new IlluminateFoundationApplication(
    $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
);
 

с

 $app = new IlluminateFoundationApplication(
    $_ENV['APP_BASE_PATH'] ?? dirname(__DIR__)
);
$app->loadEnvironmentFrom('.NEW_ENV_FILE_NAME');
 

измените NEW_ENV_FILE_NAME имя файла на любое другое, которое вы хотите