• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • $php_errormsg

    前一个错误信息

    Warning

    This feature has beenDEPRECATEDas of PHP 7.2.0. Relying on this featureis highly discouraged.

    说明

    $php_errormsg变量包含由 PHP 生成的最新错误信息。这个变量只在错误发生的作用域内可用,并且要求track_errors配置项是开启的(默认是关闭的)。

    Warning

    如果用户定义了错误处理句柄(set_error_handler())并且返回FALSE的时候,$php_errormsg就会被设置。

    范例

    Example #1$php_errormsg范例

    <?php
    @strpos();
    echo $php_errormsg;
    ?>
    

    以上例程的输出类似于:

    Wrong parameter count for strpos()
    
    While $php_errormsg is a global, it is not a superglobal.
    You'll have to qualify it with a global keyword inside a function.
    <?php
    function checkErrormsg()
    {
      global $php_errormsg;
      @strpos();
      return $php_errormsg;
    }
    ?>
    
    Note: This variable doesn't seem to get populated if you're running Xdebug.
    $php_errormsg does not contain the error message generated inside a function. See the example below:
    <?php
    @strpos();
    function checkErrormsg()
    {
      global $php_errormsg;
      echo "First Error is: $php_errormsg <br />";
      @ini_set();
      echo "Error is: $php_errormsg";
    }
    checkErrormsg();
    ?>
    This will output:
    First Error is: strpos() expects at least 2 parameters, 0 given 
    Error is: strpos() expects at least 2 parameters, 0 given
    The track_errors parameter is PHP_INI_ALL, so you can use code like this:
    <?php
    ini_set('track_errors', 1);
    $result = @do_risky_thing();
    if (! $result) {
      echo '<p>Error' . htmlspecialchars($php_errormsg) . '</p>';
    }
    ini_set('track_errors', 0);
    ?>
    

    上篇:$_COOKIE

    下篇:$HTTP_RAW_POST_DATA