Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何更改Symfony 4中的默认细枝错误模板?_Php_Symfony_Twig - Fatal编程技术网

Php 如何更改Symfony 4中的默认细枝错误模板?

Php 如何更改Symfony 4中的默认细枝错误模板?,php,symfony,twig,Php,Symfony,Twig,我正在使用Symfony 4.4构建一个应用程序。我正在尝试呈现自定义404错误页面。我遵循文档,在templates/bundles/TwigBundle/Exception中创建了error.html.twig和error404.html.twig文件。然而,我仍然得到'哎呀!symfony默认的代码为500的页面出现错误。 有人能指出我做错了什么吗? 在开发模式下,我看到应用程序抛出NotFoundHttpException,但在prod模式下,即使我访问了未定义的路由,我也总是得到代码为

我正在使用Symfony 4.4构建一个应用程序。我正在尝试呈现自定义404错误页面。我遵循文档,在templates/bundles/TwigBundle/Exception中创建了error.html.twig和error404.html.twig文件。然而,我仍然得到'哎呀!symfony默认的代码为500的页面出现错误。 有人能指出我做错了什么吗? 在开发模式下,我看到应用程序抛出NotFoundHttpException,但在prod模式下,即使我访问了未定义的路由,我也总是得到代码为500的页面。 这是我访问未定义路线时得到的结果:

您可以使用内置的细枝错误呈现器覆盖默认错误模板。为此,需要安装TwigBundle和TwigBridge 加载错误页面时,将使用Symfony\Bridge\Twig\ErrorRenderer\TwigErrorRenderer呈现树枝模板以显示用户

此呈现程序使用HTTP状态代码和以下逻辑来确定模板文件名:

寻找给定状态代码的模板(比如error500.html.twig); 如果前面的模板不存在,则放弃状态代码并查找一般错误模板(error.html.twig)。
要覆盖这些模板,请使用标准Symfony方法覆盖位于捆绑包中的模板,并将它们放在templates/bundles/TwigBundle/Exception/目录中。

是的,我确实使用标准Symfony方法覆盖这些模板,但它们似乎仍然没有加载。加上我的错误代码总是500