gpt4 book ai didi

symfony - Dev Exceptions 显示在生产环境中

转载 作者:行者123 更新时间:2023-12-04 10:07:28 26 4
gpt4 key购买 nike

我知道这是一个很大的“不”......并且不应该在我的网站上线时显示开发人员错误页面,我该怎么做才能确保开发环境错误消息不会出现在生产环境中?

enter image description here

为什么会出现这些?我认为它在生产模式下默认关闭?我错过了一个设置吗?

注:这是在共享服务器上。并且我使用的是 app.php 而不是 app_dev.php。

当我在本地进入生产模式时,它会正确显示正确的错误消息(如下):

哎呀!发生错误
服务器返回“404 Not Found”。
东西坏了。请通过 [email] 给我们发送电子邮件,让我们知道发生此错误时您正在做什么。我们会尽快修复它。给您造成的任何不便,请原谅。

然而在实时站点上,它显示了 Symfony2 开发环境错误消息?

我试图通过在 app/Resource/TwigBundle/views/Exception 中制作 error404.html.twig 文件来制作自定义错误消息但它仍然没有加载这个文件 并只显示开发人员错误消息。

最佳答案

在您的前端 Controller (Symfony 标准版中的 web/app.php)中,一个 AppKernel 的实例被 build 。 AppKernel继承了constructor from Symfony's Kernel ,这需要两个参数:

/**
* Constructor.
*
* @param string $environment The environment
* @param bool $debug Whether to enable debugging or not
*/
public function __construct($environment, $debug)
$environment参数仅确定使用哪种配置( config_dev.ymlconfig_prod.yml 等)。 $debug参数是启用或禁用调试的参数(因此确定是否显示异常)。

所以在 app.php , 改变:
$kernel = new AppKernel('prod', true);


$kernel = new AppKernel('prod', false);

这应该用用户友好的错误页面替换详细的异常页面。

关于symfony - Dev Exceptions 显示在生产环境中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23335375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com