Ошибки Symfony2 отображаются в моде Production

Я переместил мое приложение в производственном режиме в Symfony 2 с этой cmd Line

php app/console cache:clear --env=prod --no-debug

И в моем файле «web / app.php»

$kernel = new AppKernel('prod', false);

Я изменил ложное значение на истинное

$kernel = new AppKernel('prod', true);

Но мое приложение по-прежнему выдает мне страницы с ошибками вроде DEV мод ; Например, когда я пытаюсь получить доступ к неправильной ссылке и получить эту страницу ошибки

введите описание изображения здесь

Обычно ошибка страницы должна быть такой
введите описание изображения здесь

1

Решение

Сначала убедитесь, что .htaccess присутствует в web каталог вашего приложения.
В противном случае, возьми это из Вот и создать его.

Откройте его и убедитесь, что URL-адреса перенаправлены на /app.php/ ,
Если вы видите строку, содержащую app_dev.phpизмените его на app.php,

Например, если вы видите следующую строку:

RedirectMatch 302 ^/$ /app_dev.php/

Измените это на:

RedirectMatch 302 ^/$ /app.php/

Затем проверьте ваш web/app.php похоже дефолт .

Также указанная вами строка должна быть:

new AppKernel('prod', false')

И наконец, в vhost вашей рабочей среды убедитесь, что вы не указали index лайк app_dev.php,
По умолчанию .htaccess сделай это для тебя.

Вхост может быть следующим:

<VirtualHost *:80>
ServerName your.domain
DocumentRoot /var/www/path/to/project/web
<Directory "/var/www/path/to/project/web">
AllowOverride All
Require all granted
</Directory>
</VirtualHost>

Надеюсь, что ваша проблема возникла из-за одной из распространенных ошибок.

2

Другие решения

  • Убедитесь, что ваш виртуальный хост (или .htaccess) указывает на файл app.php
  • Очистить кеш вручную, удалив содержимое папки кеша

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

    $ kernel = new AppKernel (‘prod’, false);

1

По вопросам рекламы [email protected]