Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP错误查找程序_Php - Fatal编程技术网

PHP错误查找程序

PHP错误查找程序,php,Php,我正在修复一个php错误的网站。我这样做的方式是通过启用错误报告和浏览站点,发现错误并修复它们。然而,我注意到,通过这种方式,我忽略了页面中不可见部分的错误,即隐藏的输入、不可见的div等。搜索源代码既不方便也不可靠 我想创建一个错误处理程序,或者将错误邮寄给我,或者抛出一个异常。前者会造成混乱,后者只允许发现一个错误,有时还需要查看源代码 这里的重点是,这些错误有数千个,因此,即使在每个错误上节省几秒钟,也可以节省大量时间 问题是,是否有软件可以为我强调这些错误,例如FF/Chrome扩展 好

我正在修复一个php错误的网站。我这样做的方式是通过启用错误报告和浏览站点,发现错误并修复它们。然而,我注意到,通过这种方式,我忽略了页面中不可见部分的错误,即隐藏的输入、不可见的div等。搜索源代码既不方便也不可靠

我想创建一个错误处理程序,或者将错误邮寄给我,或者抛出一个异常。前者会造成混乱,后者只允许发现一个错误,有时还需要查看源代码

这里的重点是,这些错误有数千个,因此,即使在每个错误上节省几秒钟,也可以节省大量时间


问题是,是否有软件可以为我强调这些错误,例如FF/Chrome扩展

好的,设置一个自定义错误处理程序并将错误管道传输到FireHP似乎可以做到这一点。这也显示了引用文件中的错误

set_error_handler(function ($errno, $errstr, $errfile, $errline) {
    $br = php_sapi_name() == 'cli' ? '' : '<br>';

    switch ($errno) {
        case E_NOTICE:  $errorType = 'Notice';  break;
        case E_WARNING: $errorType = 'Warning'; break;
        default:        $errorType = 'Error';   break;
    }

    $message = "$errorType: $errstr $br\n in $errfile $br\n on line $errline";
    if (php_sapi_name() == 'cli') {
        throw new Exception($message);
    } else {
        \FirePHP::getInstance(true)->error($message);
    }
});
set\u error\u处理程序(函数($errno、$errstr、$errfile、$errline){
$br=php_sapi_name()='cli'?'':';
交换机($errno){
案例E_通知:$errorType=‘通知’;中断;
案例E_警告:$errorType=‘警告’;中断;
默认值:$errorType='Error';break;
}
$message=“$errorType:$errstr$br\n在$errfile$br\n的第$errline行”;
如果(php_sapi_name()=“cli”){
抛出新异常($message);
}否则{
\FireHP::getInstance(true)->错误($message);
}
});

为什么不直接查看错误日志?如果您使用apache,它应该位于apaches日志文件夹中。启用
错误报告
,但是禁用
display\u errors
并查看服务器日志。错误日志很难查看哪些已修复,哪些未修复+该站点处于cpanel下,并且根据请求的文件将错误写入不同的位置。修复错误后,您会看到,删除
错误日志
或删除已修复的行,然后保存。