Windows 7 32位系统下Zend studio 9.04的XDebugger配置(详尽版)
为什么要使用XDebugger
最开始我只在我的Mac上使用Zend Studio 9.0.4开发环境,在Mac下载并直接安装好Zend Studio 9.0.4后就能直接进行调试了。但是最近想在我的Windows 7系统下也配置一个同样的开发环境。从网上下载并成功安装好windows 7下的Zend Studio 9.04后本想快速的在windows下进行Debug代码了,但是很奇怪所有设置的断点貌似都没有被命中。因此在网上查找了一些安装教程并对照了我当前Zend Studio环境的Debug配置。 点击Windows->Preferences菜单,在左侧菜单栏中展开并选中PHP->Debug,然后在后侧的明细信息中我发现当前的PHP Debugger为Zend Debugger。随即我又检查了我的LAMP下的PHP.ini文件,并通过查询phpinfo.php文件我确定我的php版本为5.4.7,而我的php.ini文件中[zend debugger]区间的配置是被注释掉的,难道是Zend Debugger没有配置正确?朝着这个思路我尝试着更新php.ini文件以及Zend Stuio中的Zend Debugger相关配置,但是始终也没有成功。最总我又细细查询了一下Zend Debugger文档,原来Zend Debugger对PHP只支持到5.3版本。
看来放在我面前的有两个选择:
在本文中我将着重尝试XDebugger的方式,请参考以下的具体步骤。
XDebugger安装
从http://www.xdebug.org/download.php中选择合适的版本(注意你的系统是否是64位系统,以及你当前的PHP版本号,其中以TS结尾的安装包为线程安全<Thread Safe>的安装包)
我的操作系统是32位的Windows 7,而且我也不能确定到底我是不是要下载线程安全的版本,因此我选择了PHP 5.4 VC9(32 bit)以及PHP 5.4 VC9 TS(32 bit)两个安装包。
解压安装包,并把文件复制到WAMPP目录下php/ext子目录下。
由于我不能确定我时候时候线程安全的版本,所以我把down下来的那个线程安全版本php_xdebug-2.2.2-5.4-vc9.dll更名为php_xdebug.dll以此先假设一下我当前需要的版本是线程安全的版本。
XDebugger配置
打开php.ini文件,以下是我本地的XDebugger配置:
接下来需要对Zend Studio进行一些配置操作
再次在菜单中选择Windows -> Preferences,在弹出的窗口中,在左侧边栏中选中PHP->Debug,在右侧窗口的将XDebug设置为PHP Debugger。
然而对于Zend Studio 9.04来说,默认的PHP Executable为PHP 5.3.15(CGI),而我们当前按的PHP版本为5.4.7,显然我们需要对此进行更改。对此我为PHP5.4.7增加了两个Executable(一个为CGI,另一个CLI),并将PHP 5.4.7(CGI)作为默认的PHP Executable,具体的配置如下图:
测试
在XAMPP Control Panel中重新启动Apache并重新启动Zend Studio, 打开测试项目设置断点并点击Debug按钮。 如果不出意外,我们的断点将会被精确的命中。
判断你的PHP是否是线程安全的,
通过浏览器打开phpinfo.php文件,如果你找到如下设置,那你的php就是线程安全的。
其他:
至于为什么Mac下Zend Studio 9.04无需任何配置就能进行调试,将会在其他文章中提及。
参考:
XAMPP
http://www.apachefriends.org/en/xampp.html
XDebug
http://www.xdebug.org/index.php
Zend Studio 9.0.4安装
http://www.geekso.com/ZendStudio9-key 关于对PHP线程安全的讨论http://stackoverflow.com/questions/1623914/what-is-thread-safe-or-non-thread-safe-in-php