【问题标题】:What is mean by fatal error in PHP?PHP中的致命错误是什么意思?
【发布时间】:2016-07-30 05:34:56
【问题描述】:

我收到以下错误:

致命错误:未捕获错误:调用未定义函数 var_dumb()

这是什么意思?

【问题讨论】:

  • 你是否搜索过这个函数名它不是var_dumb它的var_dump,检查这个:eval.in/614206
  • 这意味着 PHP 死了。你杀了它:(
  • 致命错误:这些是严重错误 - 例如,实例化不存在的类的对象,或调用不存在的函数。这些错误会导致脚本立即终止,PHP 的默认行为是在它们发生时将它们显示给用户。
  • 没有比给您的错误信息更好的了。 Fatal 可以在阳光下的每一本英语词典中看到。然后它清楚地提到你调用的函数是未定义的。除此之外,我们还应该为您提供什么帮助?

标签: php


【解决方案1】:

致命错误是什么意思

这是导致脚本中止并立即退出的错误。致命错误之后的所有语句都不会执行。

<?php
echo 'line 1';
$a = new FakeClass(); // fatal error. Class doesn't exist so PHP aborts
echo 'line 2'; // <- never executed

非致命错误不会中止脚本

<?php
echo 'line 1';
$a = 7/0; // 'Non-fatal error: Division by zero'
echo 'line 2'; // <- executed and printed to the screen

在您的情况下,由于您使用了 PHP 不知道的函数var_dumb(),因此发生了致命错误。你要找的函数是var_dump()

我强烈建议您使用能够在编码时提醒您错误的编辑器。它会为您节省很多时间。

【讨论】:

    【解决方案2】:

    您的代码中有错字。 var_dumb 应该是 var_dump。因为 PHP 不知道名称为 var_dumb 的函数,所以它不知道该做什么。抛出一个致命异常,脚本的执行停止。

    您可以阅读有关 PHP 异常的更多信息here

    【讨论】:

      【解决方案3】:

      PHP 没有var_dumb 方法,正确的方法名称是var_dump

      致命错误是严重错误 - 例如,实例化一个 不存在的类的对象,或调用不存在的函数。 这些错误会导致脚本立即终止,并且 PHP 的 默认行为是在它们发生时将它们显示给用户。

      因此,在您的情况下,您正在调用 不存在的函数,它会引发致命错误。

      【讨论】:

        【解决方案4】:

        “致命错误”,顾名思义,是致命的:它会停止脚本/程序的执行。

        有一个使用输出缓冲的 hack 可以让您记录某些致命错误,但在发生致命错误后无法继续执行脚本 - 这就是导致致命错误的原因!

        如果您的脚本超时,您可以使用set_time_limit() 给它更多执行时间。

        如果您使用 PHP 生成网页并收到与 max_execution_time 相关的致命错误,默认情况下等于 30 秒,那么您肯定在做一些非常耗时的事情:用户可能不会等待这么久才得到页面。

        【讨论】:

          猜你喜欢
          • 2011-01-30
          • 1970-01-01
          • 2014-06-26
          • 1970-01-01
          • 2011-01-24
          • 2015-11-16
          • 2012-10-01
          • 1970-01-01
          • 2015-03-04
          相关资源
          最近更新 更多