认识错误
E_ALL -> 所有的错误
E_ERROR -> 致命的运行错误
E_WARNING -> 警告级别的错误
E_NOTICE -> 提示级别的错误
E_STRICT -> 编码标准化警告
E_CORE_ERROR -> php启动时初始化过程中的错误(php没有启动)
E_CORE_WARNING -> php启动时初始化过程中的警告
E_COMPILE_ERROR -> 编译时的致命错误
E_COMPILE_WARNING -> 编译时的警告错误
E_USER_ERROR -> 用户自定义的致命错误
E_USER_WARNING -> 用户自定义的警告错误
E_USER_NOTICE -> 用户自定义的提示
错误的级别
Error: 致命错误,会终止程序的运行
Warning: 警告级别的错误,不会终止程序的运行
Notice: 提示 提醒(算不上错误)
防止错误
Ø 让不该看到的人看不到错误
n 使用错误抑制符@,只能屏蔽单行错误而且效率低。
n 修改php.ini 配置文件中的display_errors选项,设置on显示错误,设置off不显示错误
n 修改php配置文件中error_reporting选项,可以定义任意类型的错误输出或者不输出
E_ALL &(并且) ~(除了某一个)
E_ALL &~E_NOTICE 报所有的错误但是除了E_NOTICE
n 使用error_reporting() 函数,可以和配置文件中的error_reporting选项实现相同效果,设置的值也是一样
Ø 让该看到的人看到错误(制作网站的相关人员)
u 第一步:关闭配置文件中display_errors 设置为off
u 第二步:设置存储错误的类型,设置配置文件中error_reporting选项,指定需要存储的错误类型
u 第三步:开启错误日志记录开关,设置配置文件中的log_errors =On
u 第四步:设置值错误日志记录的地点
error_log = syslog 记录错误到系统日志中(打开去掉分号)
l 系统日志查找方式-》开始-》控制面板-》管理工具-》事件查看器-》windows日志-》应用程序
l 从控制面板中查看错误看着比较难分辨,这是我们可以自定义写入指定的文件中(error_log = syslog前面的分号在加上)
error_log = “写入错误文件的路径”
l 注意:error_log不会帮我们自定义创建目录,只能帮我们自动创建文件。
注意:要知道一切通过配置文件修改的东西,都可以通过函数来修改。
自定义处理错误的方式
Ø set_error_handler(); 设置一个用户定义的错误处理函数
@param1:传入一个回调函数
@param2:可选参数,设置错误的类型
注意:用户自定义的回调函数需要接受四个参数。
错误号
错误内容
错误文件
当前错误行
Ø file_put_contents() 将内容写入指定的文件中
@param1:要写入文件的地址
@param2:要写入的内容
@param3:可选参数。设置为FILE_APPEND追加数据而不覆盖
返回值:返回写入的字节数
注意:该函数默认以替换的方式写入文件。
如果文件存在,则清空文件后写入。如果文件不存在,创建文件后写入 文件。