• 技术文章 >后端开发 >PHP问题

    php怎么调试错误

    藏色散人藏色散人2020-10-15 11:26:54原创311

    php调试错误的方法:首先启动错误报告;然后使用print语句调试程序;最后通过前缀字符“@”屏蔽PHP脚本错误提示即可。

    推荐:《PHP视频教程

    php错误调试

    一、php错误级别

    一般来说,php错误有三个级别:notice、warning、error。

    1、notice:notice错误可能是脚本运行时导致的,也可能是在正常运行过程中出现的。实际上这也许是代码的缺陷,因为PHP对其解释可能与代码的本义有所不同。

    2、warning:是一个非致命性地错误,在代码运行时候产生。它们并不是致命的错误,不会停止脚本的执行。

    3、error:说明出现了致命的错误,会导致脚本运行停止。PHP运行的任何阶段都有可能出现这种错误。包括初始化、解析和执行代码阶段。

    二、启动错误报告

    1、修改php.ini

    display_errors=On
    error_reporting = E_ALL & ~E_NOTICE

    2、重启Apache服务器

    三、使用print语句调试程序

    1、代码

    <form name="form1" method="post" action="">
      <input name="txt_key" type="text" id="txt_key">
      <input type="submit" name="Submit" value="搜索">
    </form>
    <?php
    if($_POST[Submit]=="搜索"){
    $key=$_POST[txt_key];//获取文本框的值
    print $key;
    }
    ?>

    2、运行结果

    四、应用前缀字符@屏蔽PHP脚本错误提示

    1、代码

    <?php
    $file="book.php";//定义操作文件 
    @fread($file) or die("文件读取失败!"); 
    fclose($file); 
    echo "我不能被输出了!程序运行后,前缀字符@后面的命令不被显示!";
    ?>

    2、运行结果

    文件读取失败!

    五 使用错误处理器记录日志

    1、配置php.ini,然后重启Apache服务器

    error_log = D:\AppServ\php5\php_errors.log

    2、代码

    <?php
    function err_log($error,$error_str){//自定义一个错误处理函数
    $file="php_error.log";
    if(filesize($file)>1024){//如果日志文件大于1024KB
    rename($file,$file.(string)time());//以时间为准绳对日志文件进行重命名
    clearstatcache();//清除文件状态缓存
    }
    error_log($error_str,0,$file);//将出错信息记录到管理员所指定的路径
    }
    set_error_handler('err_log');//执行自定义函数log_roller()函数
    trigger_error(time().":程序报错.\n");//发出错误信息
    restore_error_handler();//重新编译这个预错处理的函数
    ?>

    3、运行结果

    打开php_errors.log文件

    [09-Apr-2017 13:46:52 Asia/Hong_Kong] 1491716812:程序报错.

    以上就是php怎么调试错误的详细内容,更多请关注php中文网其它相关文章!

    本文原创发布php中文网,转载请注明出处,感谢您的尊重!
    专题推荐:php
    上一篇:关于php设置https的问题 下一篇:如何解决php文件名不能中文的问题
    第13期线上培训班

    相关文章推荐

    • phpstorm 如何使用 Xdebug 调试代码• PhpStorm之优雅的调试 Hyperf• php如何进行内存调试• php如何调试curl错误信息

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网