PHP 8.0 中 @ 错误抑制符为何失效?致命错误为什么无法隐藏?
亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《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 中 @ 错误抑制符为何失效?致命错误为什么无法隐藏?》的详细内容,更多关于的资料请关注主机宝贝公众号!