php写else老是报错,调试PHP错误经常用到的一些

ini_set('error_log','errorLog.txt');#记录下来所有发现的错误到文件里去。

ini_set('display_errors', 1);#显示错误

ini_set('memory_limit','512M');#有些错误的出现和内存使用有关系,把这个值调大试试看

ini_set("display_errors",0)

ini_set("error_reporting",E_ALL);

ini_set("error_log","")

ini_set("log_errors",1);

#错误显示级别

if(defined('E_DEPRECATED'))

error_reporting(E_ALL & ~E_NOTICE^E_DEPRECATED);

else

error_reporting(E_ALL & ~E_NOTICE);

#所有 ini_set的内容都可以在php.ini中定义

#转义输出HTML代码

echo htmlspecialchars($html);

echo ''.htmlspecialchars($html).'';

#实时推送到浏览器的输出

ob_start();

ob_end_flush();

ob_implicit_flush(true);

echo str_pad('',4096);

echo 'hello';

flush();

#查看堆栈信息 echo '

';debug_print_backtrace();echo '
';

#指定时区

date_default_timezone_set("PRC");

#指定输出的HTML编码

header("Content-Type: text/html; charset=utf-8");

#打印函数所有的参数

echo '

';print_r(func_get_args());echo '
';

#显示当前文件,行,以及执行时间

$mtime = explode(' ', microtime());

$time_start = $mtime[1] + $mtime[0];

function getmicrotime() {

list($usec, $sec) = explode(" ",microtime());

return ((float)$usec + (float)$sec);

}

function get_use_time($min=false) {

global $time_start;

$time_end = getmicrotime();

$times = $time_end - $time_start;

$times = sprintf('%.5f',$times);

if($min==false) {

$use_time = "用时:". $times ."秒";

}else {

$use_time = $times;

}

return $use_time;

}

echo __FILE__.':'.__LINE__.':'. get_use_time().'';

/**

* 错误处理

*/

function _e($msg,$type=''){

static $i=0;

$i++;

$error['msg'] = $msg;

$error['type'] = $type;

$GLOBALS[ERROR_STACK_NAME][$i] = $error;

return ERROR_STACK_NAME.$i;

}

function onError($errNo, $errMsg, $file, $line, $errcontext) {

$errorlevels = array(

2048 => 'Warning',

2048 => 'Notice',

1024 => 'Warning',

1024 => 'Notice',

512 => 'Warning',

256 => 'Error',

128 => 'Warning',

64 => 'Error',

32 => 'Warning',

16 => 'Error',

8 => 'Notice',

4 => 'Error',

2 => 'Warning',

1 => 'Error');

//print_r(array('code'=>$errno, 'string'=>$errstr, 'file'=>$errfile, 'line'=>$errline,'codeinfo'=>$errorlevels[$errno]));

$t = error_reporting();

if (!($errNo & error_reporting())) {

return;

}

$errType = $errNo;

/** Get Advance Error msg **/

if(strpos($errMsg,ERROR_STACK_NAME)==0){

$i = substr($errMsg,strlen(ERROR_STACK_NAME));

if(isset($GLOBALS[ERROR_STACK_NAME][$i])){

$error = $GLOBALS[ERROR_STACK_NAME][$i];

$errMsg = $error['msg'];

$errType = $error['type'];

}

}

$errMsg = nl2br($errMsg);

if($errType=='smarty'){

$errType = '模版系统错误';

}elseif ($errType=='sql'){

$errType = '数据库操作错误';

}else{

$errType = "PHP错误[$errType]";

}

$title = '系统错误';

$msg = "

错误类型:

$errType

错误位置:

$file 第 $line 行

错误信息:

$errMsg

";

echo $msg;flush();

//msgBox($title,$msg,'',false,2);

exit();

}

function shutdown_function(){

$errorlevels = array(

2048 => 'Warning',

2048 => 'Notice',

1024 => 'Warning',

1024 => 'Notice',

512 => 'Warning',

256 => 'Error',

128 => 'Warning',

64 => 'Error',

32 => 'Warning',

16 => 'Error',

8 => 'Notice',

4 => 'Error',

2 => 'Warning',

1 => 'Error');

$error = error_get_last();

if($error){

echo '

你可能感兴趣的:(php写else老是报错)