为啥要整理下php的报错机制?php
一门语言懂了报错机制,就能够处理复杂的异常或错误代码了。提升功力web
设置php错误显示等级ui
ini_set('display_errors', 1); #
实力调试出错误spa
Warning 调试
警告code
Warning: Invalid argument supplied for foreach() in /data/www/sf-plearnu-local/web/3.php on line 9io
ini_set('display_errors', 1); foreach(1 as $v); 程序编译后。执行出错,报警告错误
Parse编译
解析class
Parse error: syntax error, unexpected end of file in /data/www/sf-plearnu-local/web/3.php on line 10require
ini_set('display_errors', 1); foreach(1 as $v) // 少了标点符号,在解析代码的时候就错误了
Notice
通知
Notice: Undefined variable: ads in /data/www/sf-plearnu-local/web/3.php on line 9
ini_set('display_errors', 1); echo $ads; // 变量未定义,通知错误
Fatal
致命
它话
include 包含的文件不存在的时候,程序报警告错误。代码继续执行
require 包含的文件不存在的时候,程序报致命错误,代码不向下执行
require('321.php'); echo '---'; Warning: require(321.php): failed to open stream: No such file or directory in /data/www/sf-plearnu-local/web/1.php on line 10 Fatal error: require(): Failed opening required '321.php' (include_path='.:/usr/share/pear:/usr/share/php') in /data/www/sf-plearnu-local/web/1.php on line 10
include('321.php'); echo '---'; Warning: include(321.php): failed to open stream: No such file or directory in /data/www/sf-plearnu-local/web/1.php on line 10 Warning: include(): Failed opening '321.php' for inclusion (include_path='.:/usr/share/pear:/usr/share/php') in /data/www/sf-plearnu-local/web/1.php on line 10 ---