Как мне работать с файлом .env при развертывании Symfony на виртуальном хостинге

Я использую Symfony 4 и виртуальный хостинг Hostgator.

Я пытаюсь развернуть свое приложение на сайте. Я загрузил приложение на сервер, а затем переместил и настроил index.php в папку public_html. Когда я запустил сайт, я получил эту ошибку в файле .env.

Fatal error: Uncaught Symfony\Component\Dotenv\Exception\PathException: Unable to read the "/home4/xxx/public_html/yyy/../.env" environment file. in /home4/xxx/yyy/vendor/symfony/dotenv/Dotenv.php:54 Stack trace: #0 /home4/xxx/public_html/yyy/index.php(15): Symfony\Component\Dotenv\Dotenv->load('/home4/xxx/pu...') #1 {main} thrown in /home4/xxx/yyy/vendor/symfony/dotenv/Dotenv.php on line 54

Я читал, что файл окружения должен использоваться только на стадии разработки, вероятно, поэтому исключение. Но тогда что именно мне нужно делать дальше?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
1
0
1 914
1

Ответы 1

Судя по вашей ошибке, это похоже на проблему с разрешениями. Дважды проверьте, что в ваших папках есть (drwxr-xr-x)/(755), а в файлах - (-rw-r--r--)/(644).

Это также может помочь вам в настройке: http://symfony.com/doc/current/setup/file_permissions.html

Дополнительная информация:

Symfony использует .env в любой среде, кроме производственной. Производственная среда устанавливается с помощью серверных переменных APP_ENV=prod. Если он не установлен, он загружается из файла .env. public/index.php даст вам немного больше информации.

Я проверил, все папки имеют разрешение 755, а все файлы - разрешение 644. И я не понимаю, что вы имеете в виду под переменной сервера, где мне это установить?

reddy 19.03.2018 07:42

Вот хорошая ссылка, если вы используете Apache. stackoverflow.com/a/10902492/9191229. У вас есть доступ к консоли?

Sean Bahrami 19.03.2018 07:50

Так что в основном мне понадобится доступ к консоли на сервере, чтобы изменить настройку среды? Я ничего не вижу в панели управления о консоли.

reddy 19.03.2018 08:05

Я нашел проблему. именно в index.php я забыл обновить путь к файлу .env, я только изменил путь для автозагрузки

reddy 20.03.2018 07:03

@reddy, хорошая работа!

Sean Bahrami 20.03.2018 16:03

Другие вопросы по теме