一、常用的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服务器配置