如何在没有Symfony 4.0调试的prod环境中自定义错误页面

问题描述 投票:1回答:2

我知道stackoverflow上有类似的问题,但它们是针对symfony的早期版本,我找不到任何解决方案。

我刚刚从symfony 3.3迁移到symfony 4.0,我无法迁移错误页面的自定义。

我做了https://symfony.com/doc/current/controller/error_pages.html上的解释。所以我在error.html.twig存储库上放了一个error404.html.twig文件,一个exception.html.twig文件和一个templates\bundles\TwigBundle\Exception文件。

在我的prod环境中,当调试成立时它正常工作。它使用exception.html.twig模板。但是当debug为false时,它不起作用,并显示默认的symfony模板而不是我的。

我找不到任何想法?你呢?

custom-error-pages symfony4
2个回答
2
投票

这对我有用:

1)检查模板和模板目录的所有权和权限。从templates目录中,您可以:

sudo chown -R www-data:www-data *

2)然后通过删除APP_DEBUG行或将其设置为false来关闭.env文件中的调试:

APP_ENV=prod
APP_DEBUG=false

3)最后,在项目根目录中,清除Symfony缓存:

bin/console cache:clear

0
投票

APP_DEBUG=0文件中添加.env

请注意,APP_DEBUG=false在Symfony 4中不适用于我

见:https://symfony.com/doc/current/configuration/environments.html#index-3

© www.soinside.com 2019 - 2024. All rights reserved.