PHP错误处理
2016-06-29 13:39
597 查看
基本的错误处理:使用die()函数
<?phpif(!file_exists("welcome.txt")){
die("File not found");
}else{
$file=fopen("welcome.txt","r");
}
?>
创建自定义错误处理器
语法:error_function(error_level,error_message,error_file,error_line,error_context)
参数:
error_level:必需。为用户定义的错误规定错误报告级别。必须是一个值数。
error_message:必需。为用户定义的错误规定错误消息。
error_file:可选。规定错误在其中发生的文件名。
error_line:可选。规定错误发生的行号。
error_context:可选。规定一个数组,包含了当错误发生时在用的每个变量以及它们的值。
创建一个处理错误的函数:
function customError($errno, $errstr){echo "<b>"Error:</b> [$errno] $errstr<br />";
die();
}
Set Error Handler
set_error_handler("customError") //set_error_handler仅需要一个参数,可以添加第二个参数来规定错误级数。
<?php
//error handler function
function customError($errno, $errstr){
echo "<b>Error:</b> [$errno] $errstr"
}
//set error handler
set_error_handler("customError");
//trigger error
echo($test);
?>
触发错误
在脚本中用户输入数据的位置,当用户的输入无效时触发错误是很有用的。在PHP中,这个任务由trigger_error()完成。
<?php
$test=2;
if($test>1){
trigger_error("value must be 1 or below");
}
?>
错误记录
默认地,根据在php.ini中的error_log配置,PHP向服务端的错误记录系统或文件发送错误记录。通过使用error_log()函数,您可以
向指定的文件或远程目的地发送错误记录。
通过E-Mail发送错误消息
在下面的例子中,如果特定的错误发生,我们将发送带有错误消息的电子邮件,并结束脚板:
<?php
//error handler function
function customError($errno, $errstr){
echo "<b>Error:</b> [$errno] $errstr<br />";
echo "webmaster has been notified";
echo_log("Error: [$errno] $errstr",1,"someone@example.com","From: webmaster@example.com");
}
//set error handler
set_error_handler("customError", E_USER_WARNING);
//trigger error
$test=2;
if(&test>1){
trigger_error("Value must be 1 or below", E_USER_WARNING);
}
?>
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- 访问Nginx发生SSL connection error的一种情况
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- rem : web app适配的秘密武器
- jquery高级应用之Deferred对象
- php7 读取php.ini[4]
- 星外虚拟主机访问被控出现Unspecified error解决方法
- IIS 错误 Server Application Error 详细解决方法
- On Error Resume Next 语句
- IIS运行错误 Server Application Error 错误代码 Error: 8004的解决方法
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法