Почему в Symfony 4 не работают страницы с ошибками?

В Symfony 4 по умолчанию страницы с ошибками (такие как 404 - страница не найдена, 500 - внутренняя ошибка сервера и другие) не отображаются в режиме разработки. Вместо этого возвращается простой текстовый ответ.

Это было сделано с целью улучшения производительности и избежания лишней нагрузки на сервер во время разработки. Вместо полной страницы с ошибкой, Symfony 4 возвращает сообщение об ошибке в формате JSON, что упрощает чтениелогов ошибок и отладку.

Однако, если вам нужно вернуть страницу с ошибкой, вы можете воспользоваться настройкой в файле конфигурации config/packages/framework.yaml. В этом файле вы можете настроить debug параметр на true, и Symfony будет отображать страницы с ошибками во время разработки.

Ниже приведен пример как выглядит настройка в файле config/packages/framework.yaml:

# config/packages/framework.yaml
framework:
    # ...
    # другие настройки
    # ...
    error_controller: 'SymfonyBundleTwigBundleControllerExceptionController'

twig:
    exception_controller: 'SymfonyBundleTwigBundleControllerExceptionController'

После настройки параметра debug и указания контроллера для обработки ошибок, Symfony будет отображать полноценные страницы с ошибками в режиме разработки.

К тому же, в Symfony 4 есть возможность создать свои собственные страницы с ошибками, которые будут отображаться независимо от настроек. Для этого вы можете создать шаблон с ошибкой в директории templates/bundles/TwigBundle/Exception/. Symfony будет автоматически использовать этот шаблон для отображения ошибки.

В целом, в Symfony 4 страницы с ошибками настраиваются в зависимости от ваших потребностей. Вы можете настроить их в файле конфигурации или создать собственные страницы.