如何在prod环境中自定义错误页面而无需在Symfony 4.0上进行调试

时间:2017-12-13 19:49:59

标签: custom-error-pages symfony4

我知道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文件。

在我的产品环境中,当调试成立时,它工作得很好。它使用exception.html.twig模板。但是当调试失败时,它没有工作,显示默认的symfony模板而不是我的。

我无法理解为什么?你呢?

2 个答案:

答案 0 :(得分: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:清除

答案 1 :(得分:0)

在您的APP_DEBUG=0文件中添加.env

请注意,APP_DEBUG=false在Symfony 4中对我不起作用

请参阅:https://symfony.com/doc/current/configuration/environments.html#index-3