我知道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模板而不是我的。
我找不到任何想法?你呢?
这对我有用:
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
在APP_DEBUG=0
文件中添加.env
请注意,APP_DEBUG=false
在Symfony 4中不适用于我
见:https://symfony.com/doc/current/configuration/environments.html#index-3