Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。
Xdebug提供了各种自带的函数,并对已有的某些PHP函数进行覆写,可以方便地用于调试排错;Xdebug还可以跟踪程序的运行,通过对日志文件的分析,我们可以迅速找到程序运行的瓶颈所在,提高程序效率,从而提高整个系统的性能。
已wampserver集成环境为例:
1、打开xdebug官方网站https://xdebug.org/download.php并点击custom installation
2、将phpinfo界面打开并crtl+A复制页面内容到text框中,点击analyse my phpinfo() output
3、按照官方给出的步骤进行安装
4、下载xdebug.dll扩展安装到php的ext目录中
5、配置php中的php.ini(dos命令行中有效),配置apache中php.ini(web页面端有效),可以再dos命令中 php --ini查看php配置文件路径
6、在php.ini配置文件中加入以下内容:
; XDEBUG Extension
[xdebug]
#zend_extension ="D:/wamp64/bin/php/php7.0.10/zend_ext/php_xdebug-2.4.1-7.0-vc14-x86_64.dll"
zend_extension ="D:\wamp64\bin\php\php7.0.10\ext\php_xdebug-2.6.1-7.0-vc14-x86_64.dll"
xdebug.remote_enable = On
xdebug.profiler_enable = On
xdebug.profiler_enable_trigger = On
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir ="D:/wamp64/tmp"
xdebug.show_local_vars=0
左键点击wampserver进入php设置中选择(xdebug)profile enable trigger、xdebug.profile_enable、xdebug.remote_enable 待wampserver重启
至此wampserver的php xdebug扩展安装成功了
接下来试用下xdebug的函数方法
echo "1:".xdebug_peak_memory_usage();//程序运行期间的内存峰值
echo PHP_EOL;
echo "2:".xdebug_time_index();//时间,比microtime方便,单位是秒
echo PHP_EOL;
echo "3:".memory_get_usage();//php自身提供的函数,运行至此占用的空间,单位byte
echo PHP_EOL;
echo "4:".xdebug_memory_usage();//xdebug提供的,运行至此占用的内存空间,单位是byte
echo PHP_EOL;
echo "5:".xdebug_peak_memory_usage();//程序运行期间的内存峰值,与其在脚本中的位置无关
echo PHP_EOL;
$a = "new string";
xdebug_debug_zval( 'a' ); //变量容器中变量的引用(is_ref)以及指向变量的个数