PHP 8.0 中 @ 错误抑制符为何失效?致命错误为什么无法隐藏?
错误抑制符无法隐藏致命错误
问题:
在连接数据库时,故意输入错误的登录信息。按照正常的做法,如果登录信息错误,应该触发 if 语句中的错误提示。但是,系统却始终报告致命错误(Fatal Error)。明明使用了错误抑制符 @,为什么仍然无法隐藏错误信息?
回答:
在 PHP 8.0 及更高版本中,错误抑制符 @ 不再对致命级别(Fatal)的错误起作用。这是因为致命错误是与安全性相关的严重问题,隐藏它们会对应用程序的可靠性造成危害。
因此,在 PHP 8.0 及更高版本中,即使使用 @,也不能隐藏致命错误。错误信息仍然会显示,并导致应用程序终止。
参考:
PHP 官方文档:https://www.php.net/manual/zh/migration80.incompatible.php
以上就是PHP 8.0 中 @ 错误抑制符为何失效?致命错误为什么无法隐藏?的详细内容,更多请关注其它相关文章!