准备好:
Jdk http://www.oracle.com/technetwork/java/javaee/downloads/java-ee-6u2-wjdk-6u26-409231.html
WampServer2.1e-x32.exe http://www.wampserver.com/en/download.php
Eclipse 以前记得官网上有集成php的eclipse的,现在我去下没有了。
随便下载一个eclipse的版本,建议用3.6的
http://www.eclipse.org/downloads/
windows系统下JDK1.6环境变量配置
不会的参考附录1:
Wamp 安装
基本按提示就ok的
Wamp xdebug配置
1. 桌面右下角wamp的托盘图标上,选择php->php.ini
2. 在末尾加
zend_extension=”D:/Program Files/wamp/bin/php/php5.3.5/ext/php_xdebug.dll”
; 这个路径根据自己的实际情况决定,网上说php5.3之后的版本不能用zend_extension_st
[Xdebug]
;是否开启自动跟踪
xdebug.auto_trace= On
;是否开启异常跟踪
xdebug.show_exception_trace= On
;是否开启远程调试自动启动
xdebug.remote_autostart= On
;是否开启远程调试
xdebug.remote_enable= On
;允许调试的客户端IP
xdebug.remote_host=localhost
;远程调试的端口(默认9000)
xdebug.remote_port=9000
;调试插件dbgp
xdebug.remote_handler=dbgp
;是否收集变量
xdebug.collect_vars= On
;是否收集返回值
xdebug.collect_return= On
;是否收集参数
xdebug.collect_params= On
;跟踪输出路径
xdebug.trace_output_dir=”D:/Program Files/wamp/xdebug”
;是否开启调试内容
xdebug.profiler_enable=On
;调试输出路径
xdebug.profiler_output_dir=”D:/Program Files/wamp/xdebug”
3. 在D:\Program Files\wamp\bin\php\php5.3.5\zend_ext 目录下就存在php_xdebug-2.1.0-5.3-vc6.dll这个文件,不用到官网去下载的,修改下名字把他放到D:/Program Files/wamp/bin/php/php5.3.5/ext/ 就可以,我很郁闷到官网下了一个php_xdebug-2.1.1-5.3-vc6-nts.dll 结果配置就是不行,后来用本来就有的,结果可以
4. 
5.
配置eclipse
装插件aptana
Help –> Install New Softwave -> Add
点击ok 然后差不多就是下一步就可以了
Window –> preferences -> add

出现这样的就可以调试了
PS:
;[Zend]
;zend_extension_ts==D:/Program Files/wamp/bin/php/php5.3.5/ext/ZendDebugger.dll
;zend_debugger.allow_hosts=localhost
;zend_debugger.expose_remotely=always
添加过ZendDebugger.dll
最好注释掉,不然不能调试的。
附:
http://www.the8m.com/blog/article/phpa/xdebugs.html
xdebug安装
首先提示的是,xdebug 与 zend debugger是不能共存的!
xdebug下载地址:http://www.xdebug.org/download.php
版本选择: xdebug有Non-thread-safe(非线程安全)、thread-safe(线程安全)
写一个test.php,内容为,搜索”Thread Safety” enable为线程安全版、disable为非线程安全版
选择VC6还是VC9?
标明 MSVC9 (Visual C++ 2008) 的是VC9
如果你在apache1或者apache2下使用PHP,你应该选择VC6的版本
如果你在IIS下使用PHP应该选择VC9的版本
VC6的版本使用visual studio6编译
VC9使用Visual Studio 2008编译,并且改进了性能和稳定性。VC9版本的PHP需要你安装Microsoft 2008 C++ Runtime
不要在apache下使用VC9的版本
呵呵,也就是说Xdebug具有类似于Java的Exception的“跟踪回溯”的功能,可以根据程序的执行一步步跟踪到出错的具体位置,哪怕程序中的调用很复杂,我们也可以通过这个功能来理清代码关系,迅速定位,快速排错。
Xdebug配置
第一部分:基本特征:
相关参数设置
xdebug.default_enable
类型:布尔型 默认值:On
如果这项设置为On,堆栈跟踪将被默认的显示在错误事件中。你可以通过在代码中使用xdebug_disable()来禁止堆叠跟踪的显示。因为这是xdebug基本功能之一,将这项参数设置为On是比较明智的。
xdebug.max_nesting_level
类型:整型 默认值:100
The value of this setting is the maximum level of nested functions that are allowed before the script will be aborted.
限制无限递归的访问深度。这项参数设置的值是脚本失败前所允许的嵌套程序的最大访问深度。
第二部分:堆栈跟踪:
相关参数设置
xdebug.dump_globals
类型:布尔型 默认值:1
限制是否显示被xdebug.dump.*设置定义的超全局变量的值
例如,xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT 将打印 PHP 超全局变量 $_SERVER['REQUEST_METHOD']、$_SERVER['REQUEST_URI'] 和 $_SERVER['HTTP_USER_AGENT']。
xdebug.dump_once
类型:布尔型 默认值:1
限制是否超全局变量的值应该转储在所有出错环境(设置为Off时)或仅仅在开始的地方(设置为On时)
xdebug.dump_undefined
类型:布尔型 默认值:0
如果你想从超全局变量中转储未定义的值,你应该把这个参数设置成On,否则就设置成Off
xdebug.show_exception_trace
类型:整型 默认值:0
当这个参数被设置为1时,即使捕捉到异常,xdebug仍将强制执行异常跟踪当一个异常出现时。
xdebug.show_local_vars
类型:整型 默认值:0
当这个参数被设置为不等于0时,xdebug在错环境中所产生的堆栈转储还将显示所有局部变量,包括尚未初始化的变量在最上面。要注意的是这将产生大量的信息,也因此默认情况下是关闭的。
第三部分:分析PHP脚本
相关参数设置
xdebug.profiler_append
类型:整型 默认值:0
当这个参数被设置为1时,文件将不会被追加当一个新的需求到一个相同的文件时(依靠xdebug.profiler_output_name的设置)。相反的设置的话,文件将被附加成一个新文件。
xdebug.profiler_enable
类型:整型 默认值:0
开放xdebug文件的权限,就是在文件输出目录中创建文件。那些文件可以通过KCacheGrind来阅读来展现你的数据。这个设置不能通过在你的脚本中调用ini_set()来设置。
xdebug.profiler_output_dir
类型:字符串 默认值:/tmp
这个文件是profiler文件输出写入的,确信PHP用户对这个目录有写入的权限。这个设置不能通过在你的脚本中调用ini_set()来设置。
xdebug.profiler_output_name
类型:字符串 默认值:cachegrind.out%p
这个设置决定了转储跟踪写入的文件的名称。
第四部分:远程Debug
相关参数设置
xdebug.remote_autostart
类型:布尔型 默认值:0
一般来说,你需要使用明确的HTTP GET/POST变量来开启远程debug。而当这个参数设置为On,xdebug将经常试图去开启一个远程debug session并试图去连接客户端,即使GET/POST/COOKIE变量不是当前的。
xdebug.remote_enable
类型:布尔型 默认值:0
这个开关控制xdebug是否应该试着去连接一个按照xdebug.remote_host和xdebug.remote_port来设置监听主机和端口的debug客户端。
xdebug.remote_host
类型:字符串 默认值:localhost
选择debug客户端正在运行的主机,你不仅可以使用主机名还可以使用IP地址
xdebug.remote_port
类型:整型 默认值:9000
这个端口是xdebug试着去连接远程主机的。9000是一般客户端和被绑定的debug客户端默认的端口。许多客户端都使用这个端口数字,最好不要去修改这个设置。
注意:所有以上参数修改后,要重启Apache才能生效!
以下是5.3版本配置及详细说明
复制内容到剪贴板 程序代码
zend_extension=D:\wamp\bin\php\php5.3.3\ext\php_xdebug-2.1.0-5.3-vc6.dll
[Xdebug]
;是否开启自动跟踪
xdebug.auto_trace = On
;是否开启异常跟踪
xdebug.show_exception_trace = On
;是否开启远程调试自动启动
xdebug.remote_autostart = On
;是否开启远程调试
xdebug.remote_enable = On
;允许调试的客户端IP
xdebug.remote_host=192.168.1.107
;远程调试的端口(默认9000)
xdebug.remote_port=9000
;调试插件dbgp
xdebug.remote_handler=dbgp
;是否收集变量
xdebug.collect_vars = On
;是否收集返回值
xdebug.collect_return = On
;是否收集参数
xdebug.collect_params = On
;跟踪输出路径
xdebug.trace_output_dir=”c:\xdebug”
;是否开启调试内容
xdebug.profiler_enable=On
;调试输出路径
xdebug.profiler_output_dir=”c:\xdebug”
附录1:
一、JDK1.6下载
目前JDK最新版本是JDK1.6,到http://java.sun.com/javase/downloads/index.jsp可以下载JDK1.6。
二、JDK1.6安装
JDK的安装非常简单,只需要按照向导一步一步进行即可。在安装时需记住安装的路径,在配置环境变量时将会用到这个安装路径。我的安装路径是F:jdk1.6。
三、配置环境变量
对于初学者来说,环境变量的配置是比较容易出错的,在配置的过程中应当仔细。使用JDK一共需要配置三个环境变量:java_home、classpath和path(不区分大小写)。
1、java_home
右击“我的电脑”,选择“属性”,点击“高级”选项卡,选择“环境变量”。在变量名处填写java_home,变量值填写F:jdk1.6,然后点击确定,这样java_home变量就配置完成了。
2、classpath
可以参考java_home的配置过程,需要新建一个系统变量,不过classpath的变量名是classpath,变量值是.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar (要加.表示当前路径)。
3、path
path变量在系统变量中已存在,要修改path变量只需要选中path变量,点击编辑即可。在变量值中加入如下内容:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin。建议把 JDK bin 的路径放在原有 path 的最前面。因为在 %SystemRoot%\system32 中还有一个 java.exe/javaw.exe,这是 Windows 操作系统自带的那个JRE,如果我们自己装的话就不要用他默认的那个JRE 了,可以用我们自己装的。如果把 JDK bin 的 path 放在最前面的话会优先使用。
配置JAVA_HOME,CLASSPATH,PATH的目的:
1,设置JAVA_HOME:
JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
一、为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串;
二、归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的—-系统崩溃!
2.设置CLASSPATH:
CLASSPATH环境变量的作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。这个变量设置的目的是为了程序能找到相应的”.class”文件, 举个例子: 你编译一个JAVA程序—A.java, 会得到一个A.class的类文件,你在当前目录下执行java A, 将会得到相应的结果(前提是你已经设置CLASSPATH为”.”). 现在, 你把A.class移到别的目录下(例如:”e:\”), 执行java A, 将会有NoClassDefFindError的异常,原因就是找不到.class文件, 现在你把CLASSPATH增加为:”.;e:\”再运行java A, 看看会有什么结果~~:)~~~, 一切正常, java命令通过CLASSPATH找到了.class文件!
3.设置PATH:
道理很简单, 你想在任何时候都使用%JAVA_HOME%\bin\java 等来执行java命令吗, 当然不会, 于是, 你可以选择把 %JAVA_HOME%\bin添加到PATH路径下, 这样, 我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程序, 并且执行.)。PATH环境变量的作用是指定命令搜索路径,在dos命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。
四、安装检查
在dos窗口下,键入java -version命令可以查看到安装的JDK版本信息;键入java命令,可以看到此命令的帮助信息;键入javac命令可以看到此命令的帮助信息。如果都如愿看到,说明JDK安装成功。
