安装php扩展:Xdebug
之前一直没有使用xdebug,程序依然跑的飞快。但是对于底层怎么解析、处理写的这些php程序呢?不知道。xdebug或许可以对你有帮助。
xdebug 是 php的一个扩展库,需要专门安装才可以使用。以下介绍windows平台的安装过程。
1、下载xdebug扩展
打开 http://xdebug.org/download.php 。打开之后发现版本很多很多,但是不能随意使用,需要根据自己的php与操作系统等等环境决定。
再打开这个页面:http://xdebug.org/wizard.php 里面全部是英文,但不要畏惧,还是比较易懂的。大概意思就是:把你的phpinfo信息粘贴到那个文本框中,然后点击下面的 “Analyse my phpinfo() output” 这个按钮,然后它就会根据你的开发环境信息建议你安装什么版本了。
注意:
a. 不能粘贴通过浏览器打印phpinfo()信息后,查看到的html源码。看到打印出的信息之后直接复制即可。
b. 点击“Analyse my phpinfo() output”按钮之后,在生成的建议信息中注意下面几项:
Xdebug installed: 2.0.5
Windows: yes - Compiler: MS VC6 - Architecture: x86
PHP Version: 5.2.5
如果 xdebug 项为 No , 说明还没有安装,如果后面接着是 Installed 说明已经安装过了,不需要再安装。
还有关键性的就是 windows 项与 php version 项。VC6, 要根据这个参数来找对应的版本。
然后再回到 download 页面寻找对应的扩展包。根据上面的信息我找到了一个 “PHP 5.2 VC6 TS (32 bit) (MD5: 2fda6a9d67eb1b4d09a6dc6b23f09ab0)”。有人说,如果php版本是5.2及以下的是需要带“_TS”的xdebug版本,本人没有测试过,也不知道这个“_TS”是什么意思。
2、把下载到的扩展包放到 php 的扩展库目录下,比如我的是 D:\wamp\php\ext\
3、找到php运行时加载的 php.ini 文件,然后在最低端添加如下的配置项:
;载入Xdebug,根据上一步的目录决定 zend_extension_ts="D:\wamp\php\ext\php_xdebug-2.0.5-5.2.dll" ;xdebug配置 [Xdebug] ;开启自动跟踪 xdebug.auto_trace = On ;开启异常跟踪 xdebug.show_exception_trace = On ;开启远程调试自动启动 xdebug.remote_autostart = On ;开启远程调试 xdebug.remote_enable = On ;收集变量 xdebug.collect_vars = On ;收集返回值 xdebug.collect_return = On ;收集参数 xdebug.collect_params = On
如果php版本是5.2及以下版本需要是 zend_extension_ts 这个配置选项,如果是 5.3 及以上版本需要是 zend_extension。依然不知道为什么?不过可以肯定5.2.5版本确实是如此,更低的版本与更高的版本没有测试过,“_ts” 是何物?
4、验证是否安装成功。(需要重新启动apache,或者是php-fpm)
依然根据phpinfo() 输出信息查看。
接着根据运行一段代码验证,如果运行输出结果说明安装成功,如果出现异常说明安装失败。
<?php $a = "new string"; $b = &$a; $a = null; xdebug_debug_zval( 'a' ); xdebug_debug_zval( 'b' ); ?>