В настоящее время я пытаюсь развернуть свой сайт Symfony 4 на размещенном VPS, я довольно успешно все настроил, установил Apache2, PHP 7.2, сервер MySQL и phpmyadmin. Затем я начал настраивать свой сервер соответственно для размещения веб-сайта Symfony 4, и перед развертыванием моего собственного приложения я попытался развернуть меньшее, чтобы я знал, что по крайней мере какая-то часть работает с приложением без базы данных без пакетов. Когда я пытаюсь получить доступ к своему веб-сайту, ничего не происходит, в / var / log / apache2 создается следующий журнал ошибок:
[Wed Jul 11 14:06:08.580654 2018] [core:error] [pid 13404] [client 37.97.69.85:52997] AH00124: Request exceeded the limit of 10 internal redirects due to probable
configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Wed Jul 11 14:06:41.901738 2018] [php7:error] [pid 13423] [client 37.97.69.85:44931] PHP Fatal error:
Uncaught Symfony\\Component\\Dotenv\\Exception\\PathException: Unable to read the "/var/www/releases/20180710151554/public/../.env" environment file.
in /var/www/releases/20180710151554/vendor/symfony/dotenv/Dotenv.php:54\nStack trace:\n#0 /var/www/releases/20180710151554/public/index.php(15):
Symfony\\Component\\Dotenv\\Dotenv->load('/var/www/releas...')\n#1 {main}\n thrown in /var/www/releases/20180710151554/vendor/symfony/dotenv/Dotenv.php on line 54
[Wed Jul 11 14:33:33.702774 2018] [core:error] [pid 13442] [client 37.97.69.85:53026] AH00124: Request exceeded the limit of 10 internal redirects
due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Wed Jul 11 14:38:07.055940 2018] [core:error] [pid 13642] [client 37.97.69.85:54628] AH00124: Request exceeded the limit of 10 internal redirects
due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[Wed Jul 11 14:51:50.406171 2018] [php7:error] [pid 13793] [client 37.97.69.85:55651] PHP Fatal error: Uncaught RuntimeException:
APP_ENV environment variable is not defined. You need to define environment variables for configuration or add "symfony/dotenv" as a Composer dependency to load variables from a .env file. in /var/www/demo/public/index.php:13\nStack trace:\n#0 {main}\n thrown in /var/www/demo/public/index.php on line 13
Я считаю, что это происходит из-за зацикливания файла конфигурации веб-сайта, я видел в Интернете случаи, когда .htaccess и файл конфигурации зацикливались, но здесь у меня нет файла .htaccess, когда я его удалил. Это конфигурация моего сайта:
<VirtualHost *:80>
ServerName vps562960.ovh.net
ServerAlias vps562960.ovh.net
DocumentRoot /var/www/releases/20180710151554/public
<Directory /var/www/releases/20180710151554>
AllowOverride None
Require all granted
Allow from All
<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
</Directory>
# uncomment the following lines if you install assets as symlinks
# or run into problems when compiling LESS/Sass/CoffeeScript assets
# <Directory /var/www/crvfakeexample.com>
# Options FollowSymlinks
# </Directory>
# optionally disable the RewriteEngine for the asset directories
# which will allow apache to simply reply with a 404 when files are
# not found instead of passing the request into the full symfony stack
<Directory /var/www/releases/20180710151554/public/bundles>
<IfModule mod_rewrite.c>
RewriteEngine Off
</IfModule>
</Directory>
ErrorLog /var/log/apache2/vps562960.ovh.net_error.log
CustomLog /var/log/apache2/vps562960.ovh.net_access.log combined
# optionally set the value of the environment variables used in the application
#SetEnv APP_ENV prod
#SetEnv APP_SECRET <app-secret-id>
#SetEnv DATABASE_URL "mysql://db_user:db_pass@host:3306/db_name"
</VirtualHost>
Я начинаю терять надежду на развертывание этого веб-сайта. Кто-нибудь сталкивался с подобным случаем или кто-нибудь из вас знает, что я делаю не так?
Заранее спасибо.




Скорее всего, проблема в том, что сервер Apache не устанавливает переменные env в глобальный массив PHP $_SERVER. Но symfony пытается найти переменные env именно в массиве $_SERVER. Либо обновите public/index.php и замените все $_SERVER на $_ENV, либо раскомментируйте директивы SetEnv на веб-сайте Apache conf.