我有這個在我的控制器:如何顯示自定義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) –