­

php中的error_get_last()函数详解以及用法

  • 2020 年 1 月 19 日
  • 筆記

在我们调试PHP代码的时候,尤其是网站前台向后台AJAX数据的时候,如果后台的PHP逻辑流程发生错误或代码坏死,那么我们前台会一直在加载的状态,那么今天就说一下PHP中的一个获取代码最后错误的函数error_get_last()。

PHP中error_get_last()函数定义

PHP函数error_get_last()定义

error_get_last() 函数获得最后发生的错误。

error_get_last()返回值

该函数以数组的形式返回错误的信息,如果没有错误发生就会近回null

返回的错误数组包含 4 个键名和键值:

[type] – 错误类型

[message] – 错误消息

[file] – 发生错误所在的文件

[line] – 发生错误所在的行

举例代码演示error_get_last()函数

定义一个错误,查看error_get_last()的返回值

代码

<?php  $s = 444;  $c = 666;  echo $c;  echo $a; //这里是错误的  echo '<br/>';  print_r(error_get_last());

返回结果

666

Array ( [type] => 8 [message] => Undefined variable: a [file] => /www/wwwroot/vip/998.php [line] => 5 )

代码强行中断测试error_get_last()函数

此测试没有任何实际意义,只为验证自己的某些想法

代码

<?php  $s = 444;  $c = 666;  echo $c;  echo $a; //这里是错误的  echo '<br/>';  //die(); //这里被强行停止  exit(); //这里被强行停止  print_r(error_get_last());

输出结果

666

由上面的例子可以看出,如果代码流程在错误发生之后被exti()或die()强行停止后,无法再调用error_get_last()函数来捕捉PHP代码中的最后发生的错误信息(废话),所以这里我要使用另外的一个register_shutdown_function()函数来配和error_get_last()函数来实现错误信息的反馈。