今天有个php小生问我php 的xdebug扩展的问题,于是就又重新写了这篇笔记,其实这个安装配置很简单,考虑到新手的理解,配备图文较为详细和实际模拟操作步骤,大牛略过即可
首先打开linux终端执行命令 git clone git://github.com/xdebug/xdebug.git 下载xdebug扩展包,如下图: (没有git的请先安装git)

然后执行如下命令切换到xdebug文件包目录
[Happy@localhost www]$ cd xdebug
在xdebug目录下执行phpize命令(具体替换成您的实际PHP安装路径下的phpize文件所在路径)
[Happy@localhost xdebug]$ /usr/local/php/bin/phpize (执行结果如下图可看到php的版本日期等)
编译xdebug扩展包
[Happy@localhost xdebug]$ ./configure --with-php-config=/usr/local/php/bin/php-config
[Happy@localhost xdebug]$ make (如图所示出现如下信息则说明make成功)
请注意以下说明:1、本程序允许任何人免费使用。2、本程序采用PHP+MYSQL架构编写。并且经过ZEND加密,所以运行环境需要有ZEND引擎支持。3、需要售后服务的,请与本作者联系,联系方式见下方。4、本程序还可以与您的网站想整合,可以实现用户在线服务功能,可以让客户管理自己的信息,可以查询自己的订单状况。以及返点信息等相关客户利益的信息。这个功能可提高客户的向心度。安装方法:1、解压本系统,放在
立即学习“PHP免费学习笔记(深入)”;
然后执行最后一步make install完成安装
[Happy@localhost xdebug]$ make install
出现如图所示表示安装成功并显示出php扩展所在目录位置
此时查看扩展目录即可看到xdebug.so扩展文件已经安装到PHP扩展目录下
配置PHP.INI 文件 加入XDEBUG扩展
[Xdebug]
zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"
xdebug.remote_enable = true
xdebug.remote_host = localhost
#default port 9000
#xdebug.remote_port = 9000
xdebug.profiler_enable = on
xdebug.trace_output_dir = "/var/www/phpxdebug"
xdebug.profiler_output_dir = "/var/www/phpxdebug"
xdebug.auto_trace = On
xdebug.show_exception_trace = On
xdebug.remote_autostart = On
xdebug.collect_vars = On
xdebug.collect_return = On
xdebug.remote_handler =dbgp
xdebug.max_nesting_level = 10000
php.ini配置参数修改完成后在PHP页面中调用phpinfo()函数可看到页面中Xdebug的扩展信息和相关参数选项,我这里的设置如图所示:
<p><span>php xdebug 参数说明(更多问题请参见 摘取天上星 之前关于xdebug的日志)</span></p>zend_extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so" #加载扩展文件<span>
xdebug</span>.remote_enable = <span>true</span><span>
xdebug</span>.remote_host = localhost
<span>#</span><span>xdebug.remote_port = 9000 #默认端口 9000</span><span>
xdebug</span>.profiler_enable =<span> on
xdebug</span>.trace_output_dir = "/var/www/phpxdebug"<span>
xdebug</span>.profiler_output_dir = "/var/www/phpxdebug"
<span>#</span><span>其余参数</span><span>
#</span><span>开启自动跟踪</span>
xdebug.auto_trace =<span> On
</span><span>#</span><span>开启异常跟踪</span>
xdebug.show_exception_trace =<span> On
</span><span>#</span><span>开启远程调试自动启动</span>
xdebug.remote_autostart =<span> On
</span><span>#</span><span>收集变量</span>
xdebug.collect_vars =<span> On
</span><span>#</span><span>收集返回值</span>
xdebug.collect_return =<span> On
</span><span>#</span><span>用于zend studio远程调试的应用层通信协议</span>
xdebug.remote_handler =<span>dbgp
</span><span>#</span><span>如果设得太小,函数中有递归调用自身次数太多时会报超过最大嵌套数错</span>
xdebug.max_nesting_level = 10000
<pre class="brush:php;toolbar:false;" courier new><span></span><pre class="brush:php;toolbar:false;" courier new>zend_extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"<span>Xdebug加载方法,不同系统及 PHP 版本有不同写法Linux 和 Mac OS X </span>: zend_extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/xdebug.so"<br><span>Windows Thread</span>-Safe 版 PHP : zend_extension_ts = "D:\php\ext\xdebug.dll"<span>Windows Non</span>-Thread-Safe 版 PHP : zend_extension = "D:\php\ext\xdebug.dll"<span>所以同一服务器只能加载一个调试工具,要么 Zend Debugger 要么 Xdebug但在 PHP5</span>.5 环境下测试, Thread-Safe 版 PHP 后面不能加 _ts 只能写成 zend_extension =<span> xdebug</span>.remote_enable = <span>true</span><span> 允许远程IDE调试xdebug</span>.profiler_enable = on 及后面的目录 "/var/www/phpxdebug"<span> 作用是开启把执行情况的分析文件写入到指定目录中的功能,可自由设置。也可不写生成的文件,例如 cachegrind</span>.out.4408<span> 这种格式命名的文件,用编辑器打开可以看到很多程序运行的相关细节信息</span><br><p>
以上就介绍了php xdebug的编译安装以及配置说明,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。</p><p>
</p>










