Symfony2 未定义索引错误未出现在 prod 中

Symfony2 Undefined index error not appearing in prod

提问人:MarcSitges 提问时间:9/9/2016 更新时间:9/9/2016 访问量:203

问:

我在这里发布这个是因为,尽管我已经找到了解决方案,但可能值得知道其他人是否面临同样的问题,并且可以为此提供更好的解释。问题如下:

函数接收数组作为参数,并根据给定键值对的内容执行一个或另一个操作:

if ($info['password'] != "") {
   // action 1
}else{
   // action 2
}

它还在末尾返回此键的值:

return array("user" => $user, "pwd" => $info['password']);

因此,如果未设置 $info['password'],则应返回以下错误:

ContextErrorException. Undefined index: password

当我使用应用程序/控制台服务器:运行在开发模式下本地运行我的应用程序时,会发生这种情况,但是在生产服务器中部署或运行 server:run --env=prod 时,它会被屏蔽:它根本没有显示任何错误或警告。这是预期行为吗? 这与Symfony配置有关还是与php.ini相关的问题?

从实际的角度来看,这是有道理的,应用程序返回一个空字段,但它不会崩溃,用户也没有意识到这个错误,但在尝试调试应用程序时可能会非常糟糕。

php symfony 调试 undefined-index

评论

0赞 Jonnix 9/9/2016
是的,这是symfony生产环境的预期行为。不应在生产系统上显示可能被窃取并用于攻击的潜在敏感信息。如果您的网站到处显示错误,这对您的声誉也没有多大好处:P
0赞 qooplmao 9/9/2016
在生产环境中,应使用日志进行调试。
0赞 MarcSitges 9/12/2016
感谢您的回答。我很困惑,因为在开发中运行时错误被标记为 CRITICAL,所以我猜所有 CRITICAL 错误也会在 prod 中弹出。

答: 暂无答案