我尝试过documentation所说的话:
app/
└─ Resources/
└─ TwigBundle/
└─ views/
└─ Exception/
├─ error404.html.twig
├─ error403.html.twig
├─ error.html.twig # All other HTML errors (including 500)
├─ error404.json.twig
├─ error403.json.twig
└─ error.json.twig # All other JSON errors (including 500)
但是这些都没有显示prod env上的自定义页面。然后,我尝试在同一Exception
文件夹中添加一个exception.html.twig
文件,该文件可以处理所有错误(404、500,...),但是它在dev中显示,因此我无法如果我有该文件,则在开发时看到错误。在生产环境中,它始终显示红色屏幕
那么将自定义错误页面制作到生产环境中的正确方法是什么,以及如何对其进行测试?
答案 0 :(得分:1)
错误页面未在开发环境中使用。在开发过程中,它会显示另一个错误页面,其中包含更多调试信息(其中可能包含您不想公开的信息)。默认情况下,Symfony标题栏不会显示在生产中。
要查看错误页面在生产中的外观,请尝试Error page previews:
# app/config/routing_dev.yml
_errors:
resource: "@TwigBundle/Resources/config/routing/errors.xml"
prefix: /_error
如果您的生产环境显示Symfony Exception页面,请确保在debug
中将app.php
标志设置为false:
$kernel = new AppKernel('prod', false);
答案 1 :(得分:0)
我认为您的问题的答案是关于清除缓存。
使用以下命令:
$ php bin /控制台缓存:清除--no-warmup --env = prod
然后您会看到错误页面,
祝你好运。