• PHP调试总结


    PHP调试总结
    一,环境方面,比如查看安装扩展是否生效,是总支持某扩展。
    可以在web目录中建一个phpinfo.php
    在里面输入
    <?php
    phpinfo();
    ?>
    在浏览器上访问一下,会输出PHP相关环境和模块信息。


    二,代码错误信息调试。
    1,通过设置display_errors,控制PHP发生错误时是否输出错误信息,一般开发环境,可以打开,正式线上环境要关闭。
    打开方式:
    1),通信修改php.ini文件中的display_errors,如果是Off表示在出错时不输出错误信息,开发环境可以改成:display_errors = On,然后重启apache
    2),在PHP代码中开启:在代码开头加上:ini_set("display_errors", "On");
    任何需要在php.ini中修改的选项,都可以使用ini_set的方式在代码中修改。

    2,设置错误级别
    使用error_reporting函数设置错误级别,与上面一样,同样可以修改php.ini或者在代码中设置,这里以代码中设置为例。
    error_reporting(0);//禁用错误报告
    error_reporting(E_ALL ^ E_NOTICE);//显示除去 E_NOTICE 之外的所有错误信息
    error_reporting(E_ALL^E_WARNING^E_NOTICE);//显示除去E_WARNING E_NOTICE 之外的所有错误信息
    error_reporting(E_ERROR | E_WARNING | E_PARSE);//显示运行时错误,与error_reporting(E_ALL ^ E_NOTICE);效果相同。error_reporting(E_ALL);//显示所有错误

    一般来说,notice类错误,可以忽略所以常用
    error_reporting(E_ALL ^ E_NOTICE);

    综合以上两点,通常开发都会在入口文件前面加上这两行,例如:
    <?php
    //定义一个常量,是否开启调试模式。
    define( 'DEBUG' , true );
    //如果开启,则打开错误输出和设置错误别为notice以外的,都输出。
    if( DEBUG )
    {
    error_reporting( E_ALL ^ E_NOTICE );
    ini_set( 'display_errors' , 'On' );
    }
    //如果非调试模式,则关闭错误输出和设置错误别为不输出。
    else
    {
    error_reporting( 0 );
    ini_set( 'display_errors' , 'Off' );
    }


    3, 编码问题
    开发文档编码和浏览器输出编码,以后mysql编码,统一设置为utf-8格式。
    1,notepad++和zend studio都可设置,具体可以百度。
    2,输出设置在代码中最前面加上。
    header( "Content-type:text/html;charset=utf-8" )


    总结:
    一般在开发时,在文件执行的开头。加上这一段。
    <?php
    header( "Content-type:text/html;charset=utf-8" );
    define( 'DEBUG' , true );
    if( DEBUG )
    {
    error_reporting( E_ALL ^ E_NOTICE );
    ini_set( 'display_errors' , 'On' );
    }
    else
    {
    error_reporting( 0 );
    ini_set( 'display_errors' , 'Off' );
    }

    //你的其它代码

    ?>

  • 相关阅读:
    python写入excel(xlswriter)--生成图表
    使用jmeter 进行http 接口测试
    Ant 批量执行jmeter 脚本
    搭建持续集成接口测试平台(jenkins+ant+jmeter)
    java异常
    java之线程
    android开发之背景音乐与音效
    android开发之存储数据
    android开发之自定义组件
    android开发之生命周期
  • 原文地址:https://www.cnblogs.com/shanyongchen/p/5815443.html
Copyright © 2020-2023  润新知