$Id: 0Intro_Error.txt 167 2011-02-26 09:46:38Z hide@address.com $
<?php
/*
Inter_Errorç±»ï¼Error.phpï¼æä»¶å¯åç¬ä½¿ç¨ãPHPçæ¬è¦æ±ï¼>=5.0.0ã
ä½äºæ¤phpçæ¬çå¯ä½¿ç¨Inter_Error_PHP4.phpæä»¶
*/
//ä½¿ç¨æ¹æ³ï¼ä»£ç 示ä¾ï¼ï¼
date_default_timezone_set('PRC'); //设置æ¶åºï¼PRCå
å®¹è¯·æ¿æ¢ä¸ºåéçæ¶åºï¼è¯¦ç»çè¯·èªæ¥phpæåãPHPçæ¬ >= 5.1.0çæ¶åä¸å®è¦åè¿æ¥éª¤ï¼å¦åå¾å¯è½ä¼å¯¼è´è®°å½æ¶é´ä¸åï¼é¤éå¨å¼ç¨åå·²ç»è®¾ç½®æ¶åºï¼ï¼çæ¬ < 5.1.0åä¸éè¦ã
require_once("Error.php"); //å¨éå½çå°æ¹ä»¥require / require_onceæ£ç¡®å¼ç¨è¯¥æä»¶
//ç¶åæ¥ç®¡PHPçé误å¤çæºå¶
set_exception_handler(array('Inter_Error', 'exception_handler'));
set_error_handler(array('Inter_Error', 'error_handler'), E_ALL);
//ç¶åå¯éæ©å°ä½¿ç¨å¦ä¸æ¹å¼è¿è¡è®¾ç½®ï¼åå¦ä¿æé»è®¤å¼ï¼å¯ä»¥ä¸éé
ç½®ãé»è®¤å¼è¯·æ¥çError.phpéé¢å
³äºéæå±æ§$debugModeç说æï¼ï¼
Inter_Error::$conf['debugMode'] = true;
//Inter_Error::$conf['friendlyExceptionPage']='1234.htm';
//Inter_Error::$conf['logType'] = 'simple';
//Inter_Error::$conf['logDir'] = dirname(__FILE__).'/Log';
//é对å½å
éç¨ç¨åºé¢åè¿ç¨ç¼åãæ¯è¾å®¹æåºç°E_NOTICEé误çå®é
æ
å½¢ï¼æ¯å¦Discuz!ãPHPWindçï¼ï¼å¯ä»¥èèå±è½E_NOTICEé误ï¼é¿å
è¿å¤çé误è°è¯è®°å½äº§çã
//è¯·å°æå®ç常é以æ°ç»ä¼ å
¥ãå¯ä¼ å
¥ç常éï¼è¯·èªè¡æ¥æ¾ï¼PHPæå -> å½±åPHPè¡ä¸ºçæ©å± -> Error Handling -> é¢å®ä¹å¸¸éãhttp://docs.php.net/manual/zh/errorfunc.constants.php
//Inter_Error::$conf['ignoreERROR'] = array(E_NOTICE);
//å¯å¼èµ·é误ç代ç ï¼è¿æ¶åå°±ä¼è°åºInter_Erroræ¥å¤çäº
$variable1 = '1111';
function a(){
b();
}
function b(){
echo $k;
echo 1/0;
}
function c(){
//ææ¶åä½ æ³ç¥é彿°cæ¯ä»ä¹æ¶ååææ ·è¢«è°ç¨çãè¿æ¶ååªéè¦ç¨trigger_errorï¼å°±å¯ä»¥å¨é¡µé¢çæå宿´çæ¥çæ´ä¸ªè°ç¨è¿ç¨äºã
trigger_error('function c is running~', E_USER_WARNING);
throw new exception('Exception Occur!');
}
a();
//åå¦ä»£ç 没æé误ï¼ä½æ¯ä½ åæ³ççä¸äºåéå¼ãé£ä¹å°±å¯ä»¥è®¾ç½®å¥½Inter_Error::$conf['variables']ï¼ç¶åéæè°ç¨show_variablesæ¹æ³ï¼ä»¥æ¾ç¤ºåéã
//注æï¼ä¸æ¦æphp代ç åºéï¼æ¤æ¹æ³ä¼èªå¨è°ç¨
/*
//以æ°ç»å å
¥è¦æ£æµçåéåå³å¯ã
Inter_Error::$conf['variables'] = array("_GET", "_POST", "_SESSION", "_COOKIE", "variable1", "variable2");
echo '<hr />';
Inter_Error::show_variables();
echo '<hr />';
*/
c();