1. 背景
不得不说Hbuilder是免费的前端开发工具中比较好用的,而且配合aptana开发php也马马虎虎(毕竟写前端的时候多些)。本人原是搞java的,后来打算用php做些个人项目(因为服务器成本低),于是快速上手了php。。但是作为动态语言,那智障的开发工具和代码提示让我们这种用惯了eclipse的javaer蛋疼不已,经常因为一些莫名的错误而找不到原因,虽然知道可以用xdebug和zenddebug配置断点调试,但是以前一直没有配置成功过。。今天因为一个bug实在头疼,不暴错,只是逻辑上的 问题,如果在多个文件几百行代码中一个个去var_dump,删了改改了删实在太痛苦了,所以下定决心看再次尝试下配置php断点调试。。
2.操作步骤
首先到xdebug官网下载和你的php版本一致的xdebug扩展,我的是php-5.4.29-Win32-VC9-x86,所以下载的是php_xdebug-2.2.5-5.4-vc9.dll.
把php_xdebug-2.2.5-5.4-vc9.dll复制到php的目录下,我是复制到D:\PHP\php_xdebug-2.2.5-5.4-vc9.dll.
修改php.ini配置如下,我关闭了部分保存分析文件的配置,这样对网站速度影响小一些。。
[Xdebug];你的xdebug文件路径,不要有空格和中文名之类的就不用再多说了。。zend_extension=D:/PHP/php-5.4.29-Win32-VC9-x86/php_xdebug-2.2.5-5.4-vc9.dll;开启自动跟踪xdebug.auto_trace = Off;开启异常跟踪xdebug.show_exception_trace = Off;开启远程调试自动启动xdebug.remote_autostart = On;开启远程调试xdebug.remote_enable = On;收集变量xdebug.collect_vars = Off;收集返回值xdebug.collect_return = Off;收集参数xdebug.collect_params = Offxdebug.trace_output_dir="D:/PHP/php-5.4.29-Win32-VC9-x86/Projecs"xdebug.profiler_enable=Offxdebug.profiler_output_dir="D:/PHP/php-5.4.29-Win32-VC9-x86/Projecs"xdebug.remote_host=localhostxdebug.remote_port=9000xdebug.remote_handler=dbgp
修改Hbuilder配置。
只需要把端口号改成php.ini里面配置的就行了,然后在php文件上加个断点,访问下浏览器,看下会不会停下来。。。
需要补充的一点是在windows下php最大执行时间好像是30秒,可能会影响到调试,我的已经改成max_execution_time=6000
足足100分钟了。。如果遇到问题可以把这里改大点 。。