PHP debug 工具 之 APD

首先郑重声明php不是必须以cgi方式运行才可以使用apd

所以手册里面的 Make sure you have installed the CGI version of PHP and it is available in your current path along with the phpize script.

有误导

首先去http://pecl.php.net/package/apd 下载对用的apd包

我下载的apd-1.0.1.tgz,没有找见win下的dll,不过有源码可以直接编译dll

解压缩

然后正常的 编译 安装 可以参考 xdebug部分的安装

配置php.ini

[apd]

;注意是zend_extension 不是extension,是绝对路径,不能是相对路径,手册上有说明,多看看手册在测试
zend_extension=/data/app/php/lib/php/extensions/no-debug-non-zts-20050922/apd.so
apd.dumpdir = /data/website/apd
apd.statement_tracing = 0

apd.dumpdir 是日志地址

这里需要注意的是

zend_extension 千万别 extension 否则

PHP Warning: PHP Startup: Invalid library (maybe not a PHP library) ‘apd.so’ in Unknown on line 0

然后就可以做实验了

<?php

apd_set_pprof_trace();

XXXXX

?>

分析日志的方法 手册里这样写到

pprofp -R /tmp/pprof.22141.0

注意这里的pprofp 在你编译好的 apd的源码目录 其实就是一个php文件

这里你要修改pprofp文件开头的 php路径 才可以正常执行

php 以cgi方式运行的时候 据说 记着 -e参数 (看手册)

分析出来的结果 很帅吧

Trace for /XXXX.php
Total Elapsed Time = 0.54
Total System Time = 0.06
Total User Time    = 0.13

         Real         User        System             secs/    cumm
%Time (excl/cumm) (excl/cumm) (excl/cumm) Calls    call    s/call Memory Usage Name
————————————————————————————–
100.0 0.00 0.54 0.00 0.13 0.00 0.06     1 0.0000   0.5362            0 main
100.0 0.00 0.54 0.00 0.13 0.00 0.06     1 0.0000   0.5362            0 apd_set_pprof_trace
98.7 0.04 0.53 0.01 0.12 0.00 0.06    14 0.0026   0.0378            0 require
83.4 0.00 0.45 0.00 0.10 0.00 0.04     1 0.0004   0.4471            0 DataProxy->run
61.1 0.33 0.33 0.02 0.02 0.00 0.00     5 0.0656   0.0656            0 DataProxy->getModule
10.1 0.00 0.05 0.00 0.03 0.00 0.02     1 0.0000   0.0542            0 MusicModule->onResponse
7.0 0.00 0.04 0.00 0.02 0.00 0.02     3 0.0003   0.0125            0 MusicModule->mr_param
6.8 0.04 0.04 0.02 0.02 0.02 0.02     3 0.0122   0.0122            0 MusicModule->mr_encrypt
5.8 0.00 0.03 0.00 0.02 0.00 0.01     1 0.0000   0.0308            0 NEWSModule->onResponse
5.3 0.00 0.03 0.00 0.01 0.00 0.00     1 0.0000   0.0286            0 Query->processRawQuery
5.0 0.03 0.03 0.02 0.02 0.01 0.01   193 0.0001   0.0001            0 Query->get
3.9 0.02 0.02 0.02 0.02 0.01 0.01    15 0.0014   0.0014            0 fetime
3.8 0.01 0.02 0.01 0.02 0.01 0.01    23 0.0006   0.0009            0 include
3.0 0.02 0.02 0.00 0.00 0.00 0.00     1 0.0161   0.0161            0 xml_iconv
2.6 0.01 0.01 0.00 0.00 0.00 0.00    32 0.0004   0.0004            0 html_substr
2.4 0.00 0.01 0.00 0.02 0.00 0.00    10 0.0000   0.0013            0 ModuleFactory->createModule
2.2 0.00 0.01 0.00 0.01 0.00 0.00     1 0.0000   0.0118            0 BlogModule->onResponse
1.4 0.00 0.01 0.00 0.00 0.00 0.00     1 0.0001   0.0077            0 MusicModule->get_rings
1.4 0.01 0.01 0.00 0.00 0.00 0.00     1 0.0075   0.0075            0 curl_fetch
1.1 0.00 0.01 0.00 0.00 0.00 0.00     5 0.0000   0.0012            0 add_tag_html_substr

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据