php 调试与追踪

2017/05/08 16:36
阅读数 767

 

一、常用的PHP 追踪和调试

   1、追踪

        (1)php 函数

                a)echo print print_r die var_dump
                b)debug:输出行号及函数名称
                     func_num_args  func_get_args
                c)var_dump
                d)debug_zval_dump:与var_dump一样,不同的是增加了一个变量引用次数
                e)debug_print_backtrace  查看程序调用栈
      (2)断点调试与变量跟踪工具Xdebug
            1)安装扩展
            2)netbeans设断点

      (3)phplog
              1.解压phplog.php,把它放到你的站点目录下.
              2.用编辑器打开phplog.php,定位到20行,设定好你个人的配置.
              3.直接在浏览器中打开phplog.php,你就可以看到一些相关的信息及帮助说明.
              4.你可以的程序中使用phplog.php中的__log函数记录你想要记录的变量.
               例如:
                require (.../phplog.php);
                    __log('Hello phplog');
              5.在你的浏览器里访问phplog.php,将看到你刚才记录的信息及它的调用栈和参数.
              6.如果不你喜欢用__log这个函数,可以为它建个别名,在phplog.php, 查找you_can_rename_this_function_name_to_what_you_like, 替换成你想要的函数名,从而在整个系统中可以用system_log,和用__log一样的效果.

  

      (4)firephp

             首先确保你安装了Firebug,然后再去安装FirePHP,这是你会看到Firebug多了一只蓝色的虫
             引入FirePHP的服务端:require_once('FirePHPCore/fb.php')。
             用fb()函数
             include (fb.php)
             $str=array()
             fb($str);

2、前段调试

        1、Firebug调试API
             console.[info|warn|error|dir|dirxml|table|trace|time|timeEnd]
             使用Firebug调试DOM结构
             使用Firebug调试JavaScript
             使用Fiddler调试远程服务器上的文件

3、日志管理      

        1、PHP日志:php.ini
              log_errors=on
              logLevel warn
              error_log=e:/....log

              时间+错误级别+错误信息+发生信息文件+错误所在的代码行

        2、Apache服务器日志
             ErrorLog “Logs/error.Log”
             CustomLog “Logs/access.Log” common

       3、MySQL日志
             a)错误日志 Log erro=[file name]
             b)二进制日志 binLog
             c)查询日志
            d)慢查询日志:

二、代码测试

       冒烟测试(基本功能)
       单元测试(模块)
       安全测试
       压力测试

 

      时间点测试
         a)microtime(TRUE)
         b)Xdebug.profiler_enable=on
         c)ab

 

     性能测试注意事项
      a)如果进行对比测试,首先应该保证可比性
      b)排除不相关因素
      c)过多与过少
      d)考虑热启时间
      e)指标的全面性
      f)关于时间精度的说明

 

 

    单元测试框架PHPUnit的安装
    结合NetBeans使用PHPUnit进行单元测试
    PHPUnit中的断言函数
    PHPUnit常用方法
    PHPUnit常用注解

   使用JMeter压力测试HTTP
   压力测试MySQL
   JMeter+Badboy组合测试

 

   Apache Benchmark
  a)并发测试:ab -n 100 -c 10 http://...
  b)时间测试: ab -c 10 -t 20 http://
  注:结尾加个 /
   Siege
   a)负载测试
   影响基准测试数字
   a)地理位置和网络问题
   b)响应大小
   c)代码处理
   d)浏览行为
   e)web服务器配置

 

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部