博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
检查PHP脚本的执行效率(xdebug)
阅读量:5298 次
发布时间:2019-06-14

本文共 2442 字,大约阅读时间需要 8 分钟。

xdebug是一个开源的php调试器,以php模块的形式加载并被使用。 

windows 平台下: 
一、安装xdebug模块 
1、去下载相应版本php的模块文件,保存下载后的文件到php的ext目录,可以自己修改文件的名称,现在最新的版本是 2.0.1。 
2、修改php.ini,增加如下信息 
[Xdebug] 
zend_extension_ts="d:/php/ext/xdebug-xxx.dll" 
xdebug.auto_trace=on 
xdebug.collect_params=on 
xdebug.collect_return=on 
xdebug.trace_output_dir="d:/Temp/xdebug" 
xdebug.profiler_enable=on 
xdebug.profiler_output_dir="d:/Temp/xdebug" 
参数解释: 
zend_extension_ts="d:/php/ext/xdebug-xxx.dll" 
加载xdebug模块。这里不能用extension=xdebug-xxx.dll的方式加载,必须要以zend的方式加载,否则安装上后, phpinfo打印出来的里的xdebug段的会有XDEBUG NOT LOADED AS ZEND EXTENSION的警告信息。 
xdebug.auto_trace=on 
自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。 
xdebug.collect_params=on 
打开收集“函数参数”的功能。将函数调用的参数值列入函数过程调用的监测信息中。此配置项的默认值为off。 
xdebug.collect_return=on 
打开收集“函数返回值”的功能。将函数的返回值列入函数过程调用的监测信息中。此配置项的默认值为off。 
xdebug.trace_output_dir="d:/Temp/xdebug" 
设定函数调用监测信息的输出文件的路径。 
xdebug.profiler_enable=on 
打开效能监测器。 
xdebug.profiler_output_dir="d:/Temp/xdebug" 
设定效能监测信息输出文件的路径。 
另外,xdebug 不能和 Zend Optimizer 以及其他 Zend 扩展 (DBG, APC, APD etc) 同时工作,目前这个问题正在修复中。 
还有一些更为具体的参数设定,详见: 
3、重启apache 
这样,在本地运行php的时候,会在所设定的目录里产生一些调试信息的文件: 
* 函数调用过程监测信息文件的文件名格式:trace.××××××.xt。这个文件可以直接查看,里面包含了函数运行的时间,函数调用的参数值,返回值,所在的文件和位置等信息。内容格式还是相对直观的。 
* 效能监测文件的文件名格式:cachegrind.out.××××××××。 
这个文件也可以直接查看,不过信息格式不易被人类所理解, 
所以我们需要接下来的一个软件。 
二、安装wincachegrind 
由于效能监测文件:cachegrind.out.××××××××文件的内容不易被人类所理解,所以我们需要一个工具来读取它。windows下就有一款这样的软件:wincachegrind。 
1、到下载安装wincachegrind 
2、安装运行后,点击Tools->options,设定你的working folder(php.ini里xdebug.profiler_output_dir的值) 
这样就可以比较直观的查看效能监测文件的信息了。 
控制输出CacheGrind文件名的控制 
 
ubuntu 下安装 
一、安装xdebug 
1. 先到xdebug.org下载最新的源码包。 
2. 编译安装 
tar -zxvf xdebug-xxx.tgz 
cd xdebug-xxx 
phpize 
./configure --enable-xdebug 
make 
sudo make install 
3. 修改配置文件php.ini,添加下面一行 
zend_extension_ts="/wherever/you/put/it/xdebug.so" 
这里的/wherever/you/put/it/是 xdebug.so 所在的目录 
第一行将装入 Xdebug 扩展;第二行将启用 Xdebug 的分析器功能,而第三行将启用扩展的调试功能。 
一些推荐的配置 
xdebug.default_enable = On 
xdebug.profiler_enable = On 
xdebug.show_exception_trace = On 
xdebug.show_local_vars = 1 
xdebug.max_nesting_level = 50 
xdebug.var_display_max_depth = 6 
xdebug.dump_once = On 
xdebug.dump_globals = On 
xdebug.dump_undefined = On 
xdebug.dump.REQUEST = * 
xdebug.dump.SERVER = REQUEST_METHOD, REQUEST_URI, HTTP_USER_AGENT 
4. 重启apache,然后再phpinfo信息里就可以看到 Xdebug 的部分了。 
二、安装 Debug client 
1. 下载 Debug client 
2. 解压缩源代码包,然后安装 
cd debugclient 
./configure --with-libedit 
make 
sudo make install

转载于:https://www.cnblogs.com/xuxubaobao/p/10845511.html

你可能感兴趣的文章
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>
tensorflow的graph和session
查看>>
JavaScript动画打开半透明提示层
查看>>
Mybatis生成resulteMap时的注意事项
查看>>
jquery-jqzoom 插件 用例
查看>>
1007. Maximum Subsequence Sum (25)
查看>>
iframe的父子层跨域 用了百度的postMessage()方法
查看>>
图片生成缩略图
查看>>
动态规划 例子与复杂度
查看>>
查看oracle数据库的连接数以及用户
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>
三.野指针和free
查看>>
activemq5.14+zookeeper3.4.9实现高可用
查看>>