晓夏

北漂的女孩

Good Luck To You!

php开发那些年你遇到的错误与异常

浏览量:391

php常见错误级别

一、语法错误

二、环境错误

三、逻辑错误

php错误有很多,重点说一下常见的错误。

  1. Deprecated最低级的错误

  2. notice错误

  3. warning警告错误

  4. fatal error致命错误

  5. parse error语法解析错误 (最高级别的错误)

  6. e_user相关错误

如何来开启错误配置级别选项

QQ图片20160613170347.png

QQ图片20160613170620.png

QQ图片20160613163422.png

如何设置错误级别

  1. php.ini

QQ图片20160613172220.png

2.在程序里面直接修改

不显示错误:error_reporting(0)

显示所有错误:error_reporting(E_ALL)

3.ini_set运行程序时设置配置选项

ini_ser("error_reporting",0)

ini_ser("error_reporting",-1)


ini_ser("diaplay_errors",0)

4.trigger_error触发php错误

<?php
$number1 = 1;
$number2 = 2;
if(is_numeric($number1)&&is_numeric($number2)){
   //trigger_error("$number1+$number2",E_USER_NOTICE);
   //trigger_error("$number1+$number2",E_USER_WARNING);
   trigger_error("$number1+$number2",E_USER_ERROR);//程序不会向下执行
}else{
   echo $number1+$number2;
}
echo "程序正在运行";

把错误信息记录到日志中

修改配置文件例如:

QQ图片20160613163422.png

例子:加入用户想登陆你的网站,模拟登陆,我们就可以写一个简单的表单来记录这里登陆

  • 可以把日志文件记录到指定目录中

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    <form action="./doAction.php" method="post">
        用户名:<input type="text" name="uname"><br/>
        密码:<input type="text" name="upwd"><br/>
        <input type="submit">
    </form>
</body>
</html>
<?php
header("content-type:text/html;charset=utf-8");
ini_set('display', 0);
error_reporting(-1);
ini_set("log_errors", 1);
ini_set("date_timezone", "PRC");
ini_set("error_reporting","E:\error\esult.txt");
ini_set('ignore_repeated_errors', 'on');
ini_set("ignore_repeated_source", 'on');
$username = $_POST['uname'];
$password = $_POST ['upwd'];
if($username=='admin'&&$password=='admin'){
    echo "登陆成功";
}else{
    $date = date("Y-m-d H:i:s",time());
    $ip = $_SERVER['REMOTE_ADDR'];
    $message = "用户:{$username},密码:{$password}在{$date}尝试登陆网站,IP地址为:{$ip}";
    error_log($message);
    header("localhost:log.php");
}

查看错误记录日志

[13-Jun-2016 12:35:54 Europe/Paris] 用户:12345密码:而且为在2016-06-13 12:35:54尝试登陆网站,IP地址为:127.0.0.1
[13-Jun-2016 12:38:30 Europe/Paris] 用户:1213,密码:234132在2016-06-13 12:38:30尝试登陆网站,IP地址为:127.0.0.1

  • 可以把错误日志保存在系统日志中

  • 可以把错误文件以邮件的格式发送给指定某个人


神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。