xdebug
使用Xdebug和KCachegrind分析php的discuz!x2.5运行CPU效率
论坛升级到discuz !x2.5,cpu随时都80-90%,load值居高不下,遂寻找一种检查php代码执行效率的方法
找到的方法php5-xdebug扩展或者xhprof扩展,因为服务器是ubuntu的,所以为了方便快捷,直接使用php5-xdebug来调试和分析了
1 xdebug配置
zend_extension=/usr/lib/php5/20090626/xdebug.so xdebug.profiler_enable=on xdebug.trace_output_dir="/tmp/xdebug" xdebug.profiler_output_dir="/tmp/xdebug" xdebug.profiler_output_name = cachegrind.out.%s #cachegrind.out._home_httpd_xxxxx
/tmp/xdebug目录需要手工建立,并且给www用户的读写权限
2 分析xdebug日志
windows环境可以使用WinCacheGrind
下载地址:http://sourceforge.net/projects/wincachegrind/
linux环境使KCachegrind
在PhpStorm中使用Xdebug来调试php断点
用PhpStorm有几个月的时间了,一直没找到一种好的调试断点的方法,今天突然看到这个东西,不错,记录下来
1 从http://code.activestate.com/komodo/remotedebugging/下载mac版本的Komodo-PHPRemoteDebugging-6.0.0-beta3-54627-macosx.tar.gz
2 提取相应php版本的xdebug.so
3 丢到 /usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/ 下面
4 在 /usr/local/php5/lib/php.ini里添加配置文件
[xdebug] zend_extension=/usr/local/php5/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so xdebug.idekey=PhpStorm1 xdebug.remote_enable=On xdebug.remote_host=localhost xdebug.remote_port=9000 xdebug.remote_handler=dbgp
5 重启apache
6 配置PhpStorm ,ok