作者:avenger 来源:超越PHP 看了FonTomas的"用Editplus实现J2SDK的可视化编程"(参见http://www.csdn.net/Develop/article/15/15416.shtm)一文后,笔者做为一个PHP程序员,萌发出了让Editplus调试PHP程序的想法。经过我的测试与N次的试验之后,终于可以让Editplus完美的实现这个功能了。具体实现方法如下:
1.打开Editplus,选择"Tool(工具)->Configure User Tools...(配置用户工具)"菜单(笔者现在使用的版本是V2.11英文版,本站(http://www.phpe.net)下载栏目有下载使用中文版的朋友可以参见下面的图片对照)。
![Click to fullsize]()
2.在弹出的窗口中选择"Add Tool(新工具)->Program(程序)",给新程序起一个好记的名字,比如这里我们用"Debug PHP",在Menutext(菜单文本)中输入"Debug PHP"。点击"Command(命令行)"右边的按钮,找到你的 php.exe 所在的路径,这里是 "c:\php\php.exe"。再点击 "Argument(参数)" 右边的下拉按钮选择FilePath(文件路径),最后再把"Capture output(捕捉输出)"前面的复选框选上。
![Click to fullsize]()
3.现在测试一下,新建一个 php 文件,按快捷键 Ctrl+1 可以激活刚才我们设置的工具(如果你设置了多个工具,快捷键可能会有所不同),现在你可以看到它已经能正常工作了。但是还有一点不太理想:如果你的PHP程序出错,在输出窗口会提示你第几行出错,双击这一行提示,Editplus老是提示你找不到某某文件,是否新建。接下下我们要修正这个功能。
4.打开刚才用户工具设置窗口,找到刚才设置的"Debug PHP"工具。点击Capture output(捕捉输出)复选框旁边的"Output Pattern...(输出模式)"按钮,会弹出一个定义输出模式的窗体,把"Use default output pattern(使用默认输出方式)"前面的复选框去掉,在"Regular expression(规则表达式)"这一项的文本框中输入"^.+ in (.+) line ([0-9]+) "(不包括引号),细心的朋友可能会发现,这里使用的其实也是正则的语法。然后,在下面的"File name文件名"下拉菜单中选择"Tagged Expression 1",即上边正则表达式中的第一个参数,"Line(行数)"下拉菜单项选择"Tagged Expression 2","Column"下拉项保持为空。然后保存设置。
![Click to fullsize]()
5.好了,现在再来试一下吧,双击出错的行数,Editplus就会自动激活出错文件,并把光标定位到出错行,是不是特别方便呢?!(下图可点击放大)
![Click to fullsize]()
现在,Editplus经过我们的"改造",已经可以即时的调试PHP文件了,虽然还不是"可视化"界面的,但对于一些平常的小程序来查错还是非常好用的。Editplus真是一款不可多得的好工具,如果你有什么使用技巧,不要忘了大家一起分享哦。^O^
补记:经本站论坛会员 Psher 的测试,Zend IDE中的 ZendCodeAnalyzer 工具也可以用到此功能中,ZendCodeAnalyzer是一个用来分析整个程序语法错误和语法中某些不规范的地方的小工具。你可以相关附件:在此下载这个小工具,关于这个工具的更详细的讨论,请参见我们的讨论区 补遗:
大家应该发现了调试信息会有HTML代码干扰,所以不能直接双击定位,其实把PHP.INI的;html_errors=Off打开就行了,这样输出的调试信息就正常了,且可以直接定位到出错行。 不做此配置不能快速定位到目标行
Moris Note: 此文引自"超越PHP" http://www.phpe.net/articles/261.shtml 另:需打开调试功能: php.ini 里 设置error_reporting = E_ALL以及 display_errors = On 重启 web服务(apache) |