加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php Xdebug的安装与使用详解

发布时间:2020-12-13 06:24:34 所属栏目:PHP教程 来源:网络整理
导读:为什么需要Debugger? 很多PHP程序员调试使用echo、print_r()、var_dump()、printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以 看出

为什么需要Debugger?
很多PHP程序员调试使用echo、print_r()、var_dump()、printf()等,其实对 于有较丰富开发经验的程序员来说这些也已经足够了,他们往往可以在程序执行的过程中,通过输出特定变量的值可以判断程序执行是否正确,甚至效率高低也可以 看出来(当然可能还需要使用一些时间函数)。那么我们为什么还需要一个专门的调试程序来监控我们的程序运行呢? 这个问题的答案不妨留到后面来揭晓。
什么是Xdebug?
Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

<FONT style="COLOR: #0000ff">如何安装Xdebug?:

<FONT style="COLOR: #ff0000">1. 打开http://www.xdebug.org/download.php下载相应的版本
Win:Windows binaries版本
Linux:source
得到一个dll文件(win)或运行安装文件(linux)
<FONT style="COLOR: #ff0000">2. 安装
Win:将下载的dll文件放到相应的目录中。比如我的就放D:xamppphpext下面;

Linux:执行安装文件

tar -xvzf xdebug-2.1.2.tgz
cd xdebug-2.1.2
phpize (如果phpize没有这个command,需要安装一次phpize。phpize可以让php支持扩展模块)安装phpize:sudo apt-get install php5-dev
如果安装了继续进行下面命令
<FONT style="COLOR: #008000">./configure
make
make install

会有这个界面

cp modules/xdebug.so /usr/lib/php5/20090626+lfs 将xdebug.so文件移到php5下面
[Xdebug]
zend_extension=D:xamppphpextphp_xdebug.dll (Win)
zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so(Linux)xdebug.profiler_enable=on
xdebug.trace_output_dir="../Projects/xdebug"
xdebug.profiler_output_dir="../Projects/xdebug"
后面的目录“../Projects/xdebug”为你想要放置Xdebug输出的数据文件的目录,可自由设置。
,如果输出的内容中有看到xdebug,说明安装配置成功。

如下图:

Xdebug

testXdebug.php

(‘abc.php');
?>

testXdebug2.php

testXdebug();
testXdebug(){
('abc.php');
}
?>

XdebugtestXdebug()

testXdebug3.php

代码如下:
testXdebug();
function testXdebug() {
requireFile();
}
function requireFile() {
require_once('abc.php');
}
?>

XdebugJavaException

PHPPHP4.3.0PHP5PHPPHP5PHP4.3

microtime()PHP
代码如下:
/**
* Simple function to replicate PHP 5 behaviour
*/
function microtime_float()
{
list($usec,$sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
$time_start = microtime_float();
// Sleep for a while
usleep(100);
$time_end = microtime_float();
$time = $time_end - $time_start;
echo "Did nothing in $time secondsn";
?>

microtime()0.03520000 1153122275microtime_float()Xdebug如何测定脚本占用的内存?

,PHPmemory_get_usage()PHP-enable-memory-limitXdebugxdebug

errorwarningnoticephp.ini加入
[Xdebug]
xdebug.profiler_enable=on
xdebug.trace_output_dir="I:Projectsxdebug"
xdebug.profiler_output_dir="I:Projectsxdebug"

../Projects/xdebugcachegrind.out.1169585776Xdebug

XdebugPHPXdebug

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读