PHP ?? ??
PHP??? ?? ?? ??? ?????. ?? ??, ? ?? ? ??? ???? ???? ?? ?? ???? ????? ?????.
PHP ?? ??
???? ? ? ?????? ?? ? ?? ???? ?? ??? ?????. ??? ?? ?? ??? ??? ????? ?????? ??? ?? ??? ??? ? ????.
? ??????? PHP?? ?? ??? ?? ?? ?? ? ??? ????.
??? ?? ?? ??? ??? ??????.
· ??? "die()" ?
· ??? ?? ?? ? ?? ???
· ?? ??
?? ?? ??: die() ?? ??
? ?? ?? ??? ??? ?? ??? ????? ?????.
<?php $open=fopen('error.txt','r'); echo $open; ?>
??? ??? ??? ?? ??? ?????.
??: fopen(error.txt) [function.fopen]: ???? ?? ?????:
2?? ?? /www/php/test/test.php? ?? ???? ????? ????
???? ?? ??? ?? ???? ?? ?? ???? ?? ???? ?? ??? ?????. ??? ???? ??:
<?php header("Content-type:text/html;charset=utf-8"); if(!file_exists('error.txt')){ die("文件不存在"); }else{ $file=fopen('error.txt','r'); } ?>
?? ??? ???? ??? ??? ?? ?? ???? ?????:
??? ???? ????
?? ??? ?? ? ??? ?? ?? ? ????? ???? ?? ??? ?? ?? ????? ???? ??? ? ??????.
??? ??? ????? ???? ?? ?? ??? ?? ????. ?? ??? ?? ?? PHP ??? ???????.
??? ?? ?? ??? ???
??? ?? ?? ??? ??? ?? ?????. PHP?? ??? ??? ? ??? ? ?? ?? ??? ??? ??????.
??? ?? 2?? ????(?? ?? ? ?? ???)? ??? ? ??? ??? ?? 5?? ????(?? ??: ??, ? ?? ? ?? ????)? ??? ? ????.
error_function (error_level,error_message,error_file,error_line,error_context)
參數(shù) | 描述 |
error_level | 必需。為用戶定義的錯(cuò)誤規(guī)定錯(cuò)誤報(bào)告級(jí)別。必須是一個(gè)數(shù)字。參見下面的表格:錯(cuò)誤報(bào)告級(jí)別。 |
error_message | 必需。為用戶定義的錯(cuò)誤規(guī)定錯(cuò)誤消息。 |
error_file | 可選。規(guī)定錯(cuò)誤發(fā)生的文件名。 |
error_line | 可選。規(guī)定錯(cuò)誤發(fā)生的行號(hào)。 |
error_context | 可選。規(guī)定一個(gè)數(shù)組,包含了當(dāng)錯(cuò)誤發(fā)生時(shí)在用的每個(gè)變量以及它們的值。 |
?? ?? ??
? ?? ?? ??? ??? ?? ?? ???? ?? ?????. ??? ?? ?? ?:
| ?>???>< ??> | ?> ???>?> | |||||||||||||||
2 | E_?? | ????? ?? ?? -?? ??. ???? ??? ?? ???? ????. | |||||||||||||||
? > ??>?> 8?>?> | ?> ?>?>E_NOTICE?> | ??? ??. ????? ??? ??? ??? ? ????? ????? ????? ??? ?? ??? ? ????. | |||||||||||||||
? > ?>?> 256?>?> | ?> ?>?>E_USER_ERROR?> ?> | ???? ??? ??? ??????. ?? ?????? PHP ?? Trigger_error()? ???? ??? E_ERROR? ?????. | |||||||||||||||
? > ?>?> 512?>?> | ?> ?>?>E_USER_WARNING?> | ????? ?? ??? ?? ??. ?? ?????? PHP ?? Trigger_error()? ???? ??? E_WARNING? ?????. |
| ?> ?> ?>E_USER_NOTICE?> | ?戶生成???? ?????. PHP? Trigger_error()? ???? E_NOTICE? ?????. | |||||||||
?>? ? ??>?>? ? 4096?>?> | ?> ?>?> ?>?>E_RECOVERABLE_ERROR?> | ?? ?? ????. "??" ???="??? ??: 1px; ??? ???: ??; word-break: break-all;">?>? ? ??>?>? ? 8191?>?> | ?> ?>?>E_ALL?> | 所有錯(cuò)誤?警告。(PHP 5.4 中,E_STRICT 成為 E_ALL 的一分) |
?? ??? ???? ??? ??? ?????.
<?php header("Content-type:text/html;charset=utf-8"); function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr<br>"; echo "腳本結(jié)束"; die(); } ?>
? ??? Simple ?? ?? ??. ????? ?? ??? ?? ???? ?????. ?? ?? ?? ??? ???? ???? ????? ?????.
?? ?? ?? ??? ?????? ?? ???? ???? ???.
?? ??? ??
PHP? ?? ?? ???? ???? ????. ?? ???. ????? ??? ? ? ??? ?? ?? ???? ???????.
?? ???? ???? ?? ???? ???? ????? ??? ??? ??? ???? ??? ? ????. ??? ? ?? ?? ??? ?? ??? ?? ?? ???? ??? ????:
set_error_handler("customError");
?? ??? ??? ?? ??? ?? ??? ????? ????. set_error_handler()?? ??? ????? ???? ?? ??? ???? ?? ? ?? ????? ??? ? ????.
?
??? ?? ??? ???? ???? ?? ??? ???? ? ?? ???? ??????.
<?php header("Content-type:text/html;charset=utf-8"); // 錯(cuò)誤處理函數(shù) function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr"; } // 設(shè)置錯(cuò)誤處理函數(shù) set_error_handler("customError"); // 觸發(fā)錯(cuò)誤 echo($test); //關(guān)閉了所有的錯(cuò)誤顯示 error_reporting(0); //顯示所有錯(cuò)誤 //error_reporting(E_ALL); //顯示所有錯(cuò)誤,但不顯示提示 //error_reporting(E_ALL & ~ E_NOTICE); ?>
???? ?? ??:
??: [8] ???? ?? ??: test
?? ??? ??? ?? ??? 8???. , ?? ???? ??? ????. ???? ?? ??
? ???? ????? ???? ???? ??
??? ?????. ?????. ???? ??? ???? ?? ? ??? ?????. PHP?? ? ??? Trigger_error() ??? ?????.
?
? ???? "test" ??? "1"?? ?? ??? ?????.
<?php header("Content-type:text/html;charset=utf-8"); $test=2; if ($test>1) { trigger_error("變量值必須小于等于 1"); } ?>
???? ?? ??:
??: 6?? D:WWWAdvanced tutorialerrorerror_1.php?? ?? ?? 1?? ??? ??? ???
????? ?? ????? ??? ???? ? ???, ? ?? ????? ???? ????? ?? ??? ??? ? ????.
??? ?? ??:
· E_USER_ERROR - ???? ??? ???? ??? ?????. ??? ??? ? ????. ???? ??? ???????.
· E_USER_WARNING - ????? ?? ??? ?? ??? ?????. ???? ??? ???? ????.
·?E_USER_NOTICE - ???. ???? ??? ??? ??. ????? ??? ??? ??? ? ????? ????? ????? ??? ?? ??? ? ????.
??
? ???? "test" ??? "1"?? ?? E_USER_WARNING ??? ?????. E_USER_WARNING? ???? ??? ?? ?? ???? ???? ????? ?????.
<?php header("Content-type:text/html;charset=utf-8"); // 錯(cuò)誤處理函數(shù) function customError($errno, $errstr) { echo "<b>Error:</b> [$errno] $errstr<br>"; echo "腳本結(jié)束"; die(); } // 設(shè)置錯(cuò)誤處理函數(shù) set_error_handler("customError",E_USER_WARNING); // 觸發(fā)錯(cuò)誤 $test=2; if ($test>1) { trigger_error("變量值必須小于等于 1",E_USER_WARNING); } ?>
???? ?? ??:
??: [512] ?? ?? ???? ??? ???. ?? 1
????? ?????
?? ??? ?? ?? ?? 512?? ?????. ?? ???? Trigger_error ??? ??? ???? ???? ???
?? ??
?? ????? ??? ?? ?? ???? ????. ?? ?? ???? ??? ??, ?? ? ????? ???? ? ???? ??? ???.
?? ?? ?? ???? ?? ???? ?? ?? ??? ??? ?? ???? ??? ????.
?? PHP ??, ??? ??? ???.
??? ??? ????. ?? ?? ??? ???? ?? ?? ?? ???? ??? ??? ?? ???? ??? ??? ????
php.ini?? ???? ?? ?? ?? ??? ??? ????. ? ? ?? ?? ??? ??? ????.
| ?>?> ???>?> td > | ||||||||
0 | ?? error_log ??? ??? ??? | / tr>||||||||
1 | ??? ??? ??? ??? | 3 | ??? ?? ??? ??? | < / ???>