$GLOBALS数组(变量)和global关键字,都能实现:在局部作用域中使用全局变量。
2.文件加载
include页面发生错误继续执行,require页面发生错误停止执行
include:每次都载入文件(可能会重复载入),如果载入失败,在报错后继续执行后续语句;
include_once:只载入一次(不会重复载入),如果载入失败,在报错后继续执行后续语句;
require:每次都载入文件(可能会重复载入),如果载入失败,在报错后终止程序;
require_once:只载入一次(不会重复载入),如果载入失败,在报错后终止程序;
3.错误处理
E_NOTICE:
提示性错误,轻微;
错误发生后,后面的程序继续执行。
E_WARNING:
警告性错误,稍微严重;
错误发生后,后面的程序继续执行。
E_ERROR:
严重错误/致命错误;
错误发生后,后面的程序不再执行!
E_PARSE:
语法错误(语法解析错误);
语法解释错误,是直接就不运行程序。
E_USER_NOTICE:
用户自定义的提示错误
E_USER_WARNING:
用户自定义的警告错误
E_USER_ERROR:
用户自定义的严重错误
E_ALL:
它是一个代表“所有”错误的代号。
①自定义错误
trigger_error(“自定义错误提示内容”, 自定义错误的代号);
②错误设置
1,设置display_errors以决定是否显示错误:
在php.ini中设置: display_errors = On或Off
这里设置,影响所有使用该php语言引擎的代码(网站页面);
在php文件中设置: ini_set(‘display_errors’, 1或0); //1表示显示,0不显示
在这里设置,只影响当前网页代码本身。
2,设置error_reporting以决定显示哪些错误:
在php.ini中设置: error_reporting = 错误代号1 | 错误代号2 | .....
//(要显示的就写出来,或者可以写E_ALL, 表示显示所有)
在代php文件中,道理类似:ini_set(‘error_reporting’, 错误代号1 | 错误代号2 | .....)
③错误日志设置
1,设置log_errors以决定是否记录错误:
php.ini中设置: log_errors = On 或 Off
代码文件中设置: ini_set (‘log_errors’, 1或0)
2,设置error_log以决定记录到哪里:
通常,就设置为一个文件名,php系统会在网站的每个文件夹下都建立该文件,并记录错误。
php.ini中: error_log = error.txt; //它是纯文本的
代码中: ini_set(“error_log”, ‘error.txt’);