我有这个在我的控制器:如何显示自定义404错误页面 - Symfony2的
if(some stuff) {
throw $this->createNotFoundException('message');
}
当我在dev的包膜测试它,我与我的文字检测的Symfony的页面告诉例外,但我可以”吨督促ENV测试它:(我运行这个php app/console cache:clear --env=prod --no-debug
,然后只在URL app_dev.php
与app.php
但工具栏和Symfony的错误页面停留取代
我创造了这个文件 - 。app/Resources/TwigBundle/views/Exception/error.html.twig
所以将它在督促呈现?
这是它:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>An Error Occurred: {{ status_text }}</title>
</head>
<body>
<h1>Oops! An Error Occurred</h1>
<h2>The server returned a "{{ status_code }} {{ status_text }}".</h2>
</body>
</html>
,我应该给为status_code
和status _text
值?或者他们被从例外中拿走?
因此,一般来说,我想要做的是当我的控制器的动作中的条件为真时,我的自定义错误页面将显示在prod env中。我是否已经做好了,如果没有,如何做到这一点,以及如何看到prod env的结果?
对于任何人在这里使用Google搜索:尝试在'index.php'中强制'$ useDebugging = false;'。之后您需要清除缓存。 – gArn
对我来说这是行不通的。同时我不知道为什么。我甚至清除了缓存。我使用的版本是3.1.3 –
如果我把一个名为exception_full.html.twig的文件放在目录中就可以正常工作。但。所有的错误模板将被它覆盖。但是,我需要为每个错误代码使用不同的模板... sfy文档说我必须放置一个名为errorxxx.html.twig的文件(xx是错误代码)。但是,它不是这样的。任何想法 ??? (https://symfony.com/doc/current/controller/error_pages.html) –