Php 自定义错误页未显示
我正在使用php框架symfony和twig创建一个网站。我想为404或500之类的错误显示一个自定义页面。我看到了如何创建自定义页面,我在app/Resources/TwigBundle/views/Exception/error.html.twig中有error.html.twig,但它似乎没有被调用,我也在使用Php 自定义错误页未显示,php,symfony,twig,Php,Symfony,Twig,我正在使用php框架symfony和twig创建一个网站。我想为404或500之类的错误显示一个自定义页面。我看到了如何创建自定义页面,我在app/Resources/TwigBundle/views/Exception/error.html.twig中有error.html.twig,但它似乎没有被调用,我也在使用 _errors: resource: "@TwigBundle/Resources/config/routing/errors.xml" pre
_errors:
resource: "@TwigBundle/Resources/config/routing/errors.xml"
prefix: /_error
在routing_dev.yaml
中,无论是在dev中还是在live站点上,您都无法看到自定义或默认错误页面
我已经到处找了找这个页面是如何被调用的,但是我找不到任何东西,所以如果你知道怎么做,或者我在哪里可以找到关于这个的文档,我将非常感激
--我知道这个问题可能被认为太宽泛了,但我真的在谷歌上找不到关于这个问题的任何信息,任何帮助都是好的--任何HTTP错误(如401/404/500等)都会在生产中显示error.html.twig;通过访问主机上的
/maked-up-path
进行尝试
您不能直接在dev AFAIK中检查catch all error.html.twig,但可以检查自定义404错误页面。我所做的是将error.html.twig
重命名为error404.html.twig
,然后在开发环境中使用/app\u dev.php/\u error/404.html
进行测试。当它工作时,重命名回error.html.twig
记住,在prod环境中看到任何更改后,请清除缓存
遗憾的是,您无法测试catch all
error.html.twig
error.html.twig将在任何HTTP错误(例如401/404/500等)的生产中显示;通过访问主机上的/maked-up-path
进行尝试
您不能直接在dev AFAIK中检查catch all error.html.twig,但可以检查自定义404错误页面。我所做的是将error.html.twig
重命名为error404.html.twig
,然后在开发环境中使用/app\u dev.php/\u error/404.html
进行测试。当它工作时,重命名回error.html.twig
记住,在prod环境中看到任何更改后,请清除缓存
很遗憾你不能测试catch-all
error.html.twig
似乎你有点误解了文档
正如您所看到的,它将创建额外的链接,通过访问这些链接直接预览自定义页面。因此,如果您打电话,您将看到该页面的预览,该页面将出现在“未找到”的生产中。似乎您对文档有点误解
正如您所看到的,它将创建额外的链接,通过访问这些链接直接预览自定义页面。因此,如果您打电话,您将看到该页面的预览,该页面将出现在“未找到”的生产中。是否清除缓存并尝试过?是否清除缓存并尝试过?我确实在主机上尝试过,但它将我发送到一个断开的页面,没有错误页面。而且它还显示了
致命错误:在…
中调用空值上的成员函数getDisplayname(),这是我每次使用错误路径得到的结果。您是否在error.html.twig
/error404.html.twig
中调用->getDisplayname()
?这就是您在/app\u dev.php/\u error/404.html
中查看时遇到的错误吗?不,这与此无关。几乎每次当我的应用程序中出现错误时,我都会收到相同的错误。这就是你遇到的问题。。。问题在于是什么造成了这种情况。可以是服务、另一个捆绑包、父类/模板。您需要跟踪此错误、调用位置等。完整错误是什么?致命错误:在C:\xampp\htdocs\project\src\Company\Bundle\TheBundle\Controller\Norm中调用null上的成员函数getDisplayname()第20行的alUserController.php,但我查了一下,似乎一切正常。。。正如您所说,它被声明为服务controller.normaluser:class:Company\Bundle\TheBundle\controller\NormalUserController
我确实在主机上尝试过,但它将我发送到一个断页,没有错误页。而且它还显示了致命错误:在…
中调用空值上的成员函数getDisplayname(),这是我每次使用错误路径得到的结果。您是否在error.html.twig
/error404.html.twig
中调用->getDisplayname()
?这就是您在/app\u dev.php/\u error/404.html
中查看时遇到的错误吗?不,这与此无关。几乎每次当我的应用程序中出现错误时,我都会收到相同的错误。这就是你遇到的问题。。。问题在于是什么造成了这种情况。可以是服务、另一个捆绑包、父类/模板。您需要跟踪此错误、调用位置等。完整错误是什么?致命错误:在C:\xampp\htdocs\project\src\Company\Bundle\TheBundle\Controller\Norm中调用null上的成员函数getDisplayname()第20行的alUserController.php,但我查了一下,似乎一切正常。。。正如您所说,它被声明为服务controller.normaluser:class:Company\Bundle\TheBundle\controller\NormalUserController
是的,我可以