2

我想知道哪些错误被认为是致命的,而不是 PHP 中的错误(尽管也对其他语言感兴趣)。是否有每个地方的错误类型的简明解释和/或列表?使用“非致命”这个表述是否有意义?

我想知道的原因是,有时当我犯 PHP 错误时,我的$_SESSION(实际上是使用 codeigniter 会话)被破坏了,而在其他情况下它不是,我不能完全弄清楚为什么会发生这种情况。

4

1 回答 1

2

好吧,命名是不言自明的:

致命错误是严重错误,这意味着由于此错误,解析器可能无法继续解析您的其余代码。例如:

  • 您的网络服务器已耗尽内存来解析脚本(例如解析器命中memory_limitphp.ini 中的设置)。
  • 该脚本包含一个无限循环(例如while(1) { echo "Hi friend!"; },运行时间比max_execution_timephp.ini 中的设置长)。

非致命错误通常被称为Warnings,它们仍然非常严重并且应该被修复,但不要导致解析器停止解析你的代码,它仍然可以继续,不管发生了什么错误。例如:

  • 您正在调用未设置的变量。
  • 您正在请求一个不存在的数组中的键。
  • 您正在调用一个不存在的函数。

希望这可以为您解决一些问题。

于 2012-05-08T14:49:25.810 回答