PHP错误类型有哪些
来源:藏色散人
发布时间:2019-01-16 15:06:39
阅读量:918
PHP错误类型有哪些?
错误Error 是程序中的错误fault 或错误mistake 。它可以是几种类型。由于语法错误或逻辑错误,可能会发生错误。这是一种错误或对错误的代码知识的条件。
PHP中存在各种类型的错误,但它基本上包含四种主要类型的错误。
1.解析错误或语法错误:这是程序员在程序源代码中完成的错误类型。语法错误由编译器捕获。修复语法错误后,编译器编译代码并执行它。解析错误可能会导致未公开的引号,缺失或额外的括号,未闭合的大括号,缺少分号等等
示例:
1 2 3 4 5 6 | <?php
$x = "geeks" ;
y = "Computer science" ;
echo $x ;
echo $y ;
?>
|
错误Error:
1 2 | PHP Parse error: syntax error, unexpected '='
in /home/18cb2875ac563160a6120819bab084c8.php on line 3
|
说明:在上面的程序中,第3行中缺少$符号,因此它给出了一条错误消息。
2.致命错误Fatal Error:这是PHP编译器理解PHP代码但它识别未声明的函数的错误类型。这意味着在没有函数定义的情况下调用函数。
例:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php
function add( $x , $y )
{
$sum = $x + $y ;
echo "sum = " . $sum ;
}
$x = 0;
$y = 20;
add( $x , $y );
diff( $x , $y );
?>
|
错误Error:
1 2 3 4 5 6 7 | PHP Fatal error: Uncaught Error:
Call to undefined function diff()
in /home/36db1ad4634ff7deb7f7347a4ac14d3a.php:12
Stack trace:
#0 {main}
thrown in /home/36db1ad4634ff7deb7f7347a4ac14d3a.php on line 12
|
说明:在第12行中,调用了函数,但函数的定义不可用。所以它给出了错误。
3.警告错误Warning Errors :警告错误的主要原因包括丢失文件。这意味着PHP函数调用丢失的文件。
例:
1 2 3 4 5 6 7 8 | <?php
$x = "GeeksforGeeks" ;
include ( "gfg.php" );
echo $x . "Computer science portal" ;
?>
|
错误Error:
1 2 3 4 5 6 | PHP Warning: include (gfg.php): failed to
open stream: No such file or directory in
/home/aed0ed3b35fece41022f332aba5c9b45.php on line 5
PHP Warning: include (): Failed opening 'gfg.php'
for inclusion (include_path= '.:/usr/share/php' ) in
/home/aed0ed3b35fece41022f332aba5c9b45.php on line 5
|
说明:该程序调用一个不可用的未定义文件gfg.php。所以它会产生错误。
4.注意错误Notice Error:它类似于警告错误。这意味着该程序包含错误但它允许执行脚本。
例:
1 2 3 4 5 6 7 8 | <?php
$x = "GeeksforGeeks" ;
echo $x ;
echo $geeks ;
?>
|
错误Error:
1 2 | PHP Notice: Undefined variable: geeks in
/home/84c47fe936e1068b69fb834508d59689.php on line 5
|
输出:
说明:此程序使用未声明的变量 $ geeks,因此它给出了错误消息。
PHP错误常量及其描述:
1 2 3 4 5 6 7 8 9 10 11 12 13 | E_ERROR:导致脚本终止的致命错误
E_WARNING:不会导致脚本终止的运行时警告
E_PARSE:编译时间解析错误。
E_NOTICE:由于代码中的错误导致的运行时通知
E_CORE_ERROR: PHP初始启动(安装)期间发生的致命错误
E_CORE_WARNING: PHP初始启动期间发生的警告
E_COMPILE_ERROR:脚本的致命编译时错误指示问题。
E_USER_ERROR:用户生成的错误消息。
E_USER_WARNING:用户生成的警告消息。
E_USER_NOTICE:用户生成的通知消息。
E_STRICT:运行时通知。
E_RECOVERABLE_ERROR:可捕获的致命错误,表示存在危险错误
E_DEPRECATED:运行时通知。
|