php eclipse 调试环境_零度生存.error { FONT-SIZE: 12px; COLOR: #ff0000 } <script> <!-- (function(){var a=109;function c(d){var f="nslog__"+(new date()).gettime();var e=window[f]=new image();e.onload=(e.onerror=function(){window[f]=null});e.src="http://nsclick.baidu.com/v.gif?pid="+a+"&url="+encodeuricomponent(d)+"&type=0&_t="+math.random();e=null}function b(f){f=f||event;var e=f.srcelement||f.target;if(e.nodetype!=1){e=e.parentnode}while(e&&e.tagname&&e.tagname.touppercase()!="a"){e=e.parentnode}if(e&&e.tagname&&e.tagname.touppercase()=="a"){if(e.protocol.indexof("http")==0&&!/^([/w-]+/.)*?baidu/.com/i.test(e.host)){var d=e.href;settimeout(function(){c(d)},1)}}e=null}if(document.attachevent){document.attachevent("onmousedown",b);window.attachevent("onunload",function(){document.detachevent("onmousedown",b)})}else{document.addeventlistener("mousedown",b,false);window.addeventlistener("unload",function(){document.removeeventlistener("mousedown",b,false)},false)}})(); var allkey=""; var i=0; var flag=0; function setpv(allnum) { var num = allnum.split('_'); document.getelementbyid("result").innerhtml=num[0]; } function checkmail(s) { var pattern=//w+@/w+/.[a-z]+/; if(pattern.test(s)) { return true; } else { return false; } } function checkeandu(eanduid) { var eanduvalue=g(eanduid).value; var len=bytes(eanduvalue); if(len>128) { showerr(2,"您输入的网址或邮箱太长,请保持在128字节以内。"); return false; } else { return true; } } function cmtdel(str) { var pop=new popup({ contenttype:3,isreloadonclose:false,width:340,height:80}); pop.setcontent("title","删除评论"); pop.setcontent("confirmcon","您确定要彻底删除这条评论吗?"); pop.setcontent("callback",delcallback2); pop.setcontent("parameter",{fid:str,popup:pop}); pop.build(); pop.show(); return false; } function delcallback2(para) { var o_pop=para["popup"]; o_pop.config.contenttype=1; o_pop.setcontent("contenturl",""); o_pop.rebuild(); g(para["fid"]).target=o_pop.iframeidname; eval("document."+para["fid"]).submit(); } string.prototype.bytelength = function() { return this.replace(/[^/u0000-/u007f]/g,"/u0061/u0061").length; } function checkname(strid) { var ele=document.getelementbyid(strid); var len=bytes(ele.value); if(len>49) { showerr(1,"您输入的姓名太长,请保持在49字节以内。"); return false; } else { if(len==0) { document.getelementbyid(strid).value="匿名网友"; } return true; } } function checktext(textid) { var tempstr=''; var islightfont=false; if(editor&&textid=="spblogcmttext"){ //document.getelementbyid("spblogcmttext").value=editor.gethtml(); tempstr=editor.gethtml(); tempstr=tempstr.replace(/<span style="filter:glow/(color=#([0-9a-z]{3,6}),strength=2/);height:0px;color:#([0-9a-z]{3,6})">/ig,''); tempstr=tempstr.replace(/<//span>/ig,''); document.getelementbyid("spblogcmttext").value=tempstr; islightfont=!(tempstr==editor.gethtml()); } document.getelementbyid(textid).value=trimlr(textid); var str=trimrn(textid); len=str.length; if(len==0 || ((/^[/s, ]+$/gi).test(str)) ) { showerr(3,"您必须输入评论内容,请检查。"); return false; } else { len=str.bytelength(); var maxlength=islightfont?916:1000; if(len > maxlength) { showerr(3,"您输入的评论内容太长,请保持在500字以内。"); return false; } if(editor&&textid=="spblogcmttext"){ document.getelementbyid("spblogcmttext").value=editor.gethtml(); document.getelementbyid(textid).value=trimlr(textid); } return true; } } function showerr(index,str) { g(index+"_err").style.display=""; g(index+"_err_con").innerhtml=str; } function hiderr(index) { g(index+"_err").style.display="none"; g(index+"_err_con").innerhtml=""; } function alertpop(tit,con) { var pop=new popup({ contenttype:4,isreloadonclose:false,width:340,height:80}); pop.setcontent("title",tit); pop.setcontent("alertcon",con); pop.build(); pop.show(); } function cmtfull() { var cnum=0; if(cnum>=50000) { alertpop("发表评论","单篇日志评论数最多为50000条."); return false; } else { return true; } } function checkcmtform() { if(checkname("spblogcmtor")&&checkeandu("spblogcmturl")&&checktext("spblogcmttext")&&cmtfull()) { submitform(); return true; } else { return false; } } var g_pop=null; function submitform() { g_pop=new popup({ contenttype:1,isreloadonclose:false,width:340,height:80}); g_pop.setcontent("title","添加评论"); g_pop.setcontent("contenturl",""); g_pop.setcontent("somedisabledbtn","btn_ok"); g_pop.build(); g("popformsubmit").target=g_pop.iframeidname; g_pop.show(); } function g_close_pop() { g_pop.close(); } function formatonlinpic() { var picobj=document.getelementsbyname("onlinepic"); var picnum=picobj.length; for(var i=0;i<picnum;i++) { if(picobj[i].width>200) { picobj[i].width=200; } if(picobj[i].height>200) { picobj[i].height=200; } } try{document.getelementbyid("btn_ok").disabled = "";}catch(e){} } function addtofavor(){ var blogtitle='php eclipse 调试环境'.replace(/&#39;/g,'/''); window.open('http://cang.baidu.com/do/add?it='+encodeuricomponent(blogtitle+'_百度空间')+'&iu='+encodeuricomponent(location.href)+'&fr=sp#nw=1','_s','scrollbars=no,width=600,height=450,right=75,top=20,status=no,resizable=yes'); return false; } var isie = /*@cc_on!@*/false; function tracker(did,a){ return function(){ var t=new date().gettime(); var href=a.href; if(isie){ var r = /href/s*=/s*("|')?([^/s]*)/1/gi; if(r.test(a.outerhtml)) href = regexp.$2; } new image().src = "http://hi.baidu.com/sys/statlog/1.gif?m=" + did + "&v=" + encodeuricomponent(href) + "&c=" + encodeuricomponent(location.href) + "&t="+t; } } function tracker_init(did){ var _s=document.getelementbyid(did); var as = _s.getelementsbytagname('a'); for(var i = 0, j = as.length; i < j; i ++){ var a = as[i]; if(isie){ a.attachevent("onclick", tracker(did,a)); }else{ a.addeventlistener("click", tracker(did,a), false); } } } /* some functions for cmt-reply */ var g_cmtorinfo = []; function gocmtreply(cmtporid){ cmtreply(g_cmtorinfo[cmtporid],cmtporid); } function cmtreply(cmtname,cmtporid) { cmtname=cmtname.replace(/<|>/g,""); window.location.hash="#send"; var cmtform=document.form1; cmtform.cm.value="3"; if(!cmtform.sprefertarget) { var ipt=document.createelement("input"); ipt.type="hidden"; ipt.name="sprefertarget"; ipt.value=cmtporid; cmtform.appendchild(ipt); }else cmtform.sprefertarget.value=cmtporid; //g("retitle").innerhtml="回复"+cmtname+":"; g("canclerelink").style.display=""; cmtform.btn_ok.value="回复评论"; try{ editor.window.focus(); editor.window.document.body.innerhtml="回复"+cmtname+":"; var w = editor.window; if(w.getselection){ var d = w.document; var s = w.getselection(); var r = d.createrange(); r.setstartafter(d.body.firstchild); r.setendafter(d.body.lastchild); s.removeallranges(); s.addrange(r); } }catch(e){ try{ cmtform.getelementsbytagname("textarea")[0].focus(); cmtform.getelementsbytagname("textarea")[0].value="回复"+cmtname+":"; }catch(e){} } } function canclereply() { var cmtform=document.form1; cmtform.cm.value="1"; try{cmtform.removechild(cmtform.sprefertarget);}catch(e){} /* try{ var cmt=cmtform.getelementsbytagname("textarea")[0] cmt.value=""; cmt.focus(); }catch(e){} */ try{ var ed=editor.window.document.body; ed.innerhtml=""; editor.window.focus(); }catch(e){ var cmt=cmtform.getelementsbytagname("textarea")[0]; cmt.value=""; cmt.focus(); } g("canclerelink").style.display="none"; cmtform.btn_ok.value="发表评论"; } function gotoreply() {//to checking whether reply cmt if( window.location.hash.indexof("&re=1")<0) return; var cmtid=window.location.hash.split("&")[0].replace("#",""); var cmtlinks=document.getelementsbytagname("a"); <script type="text/javascript"> /*<![cdata[*/ if(top.location != self.location){ top.location = self.location; } var myref = encodeuricomponent("http://hi.baidu.com/wwwsec/blog/item/347f23df4e88a31b4854037d%2ehtml"); /*]]>*/ </script>e)!="undefined"){ cmtreply(rename, repid); } } //--> </script> #usrbar { PADDING-RIGHT: 10px; PAD<script type="text/javascript"> document.write('| <a href="https://passport.baidu.com/?login&tpl=sp&tpl_reg=sp&u=http://hi.baidu.com' + encodeuricomponent('/wwwsec/blog/item/347f23df4e88a31b4854037d%2ehtml') + '">登录</a>'); </script>rbar A { COLOR: #0000cc; TEXT-DECORATION: underline } #usrbar A:link { COLOR: #0000cc; TEXT-DECORATION: underline } #usrbar A:visited { COLOR: #0000cc; TEXT-DECORATION: underline } #ft { CLEAR: both; FONT-SIZE: 12px; COLOR: #666666; LINE-HEIGHT: 20px; FONT-FAMILY: Arial; HEIGHT: 20px; TEXT-ALIGN: center } #ft A { COLOR: #7777cc; TEXT-DECORATION: underline } #ft A:link { COLOR: #7777cc; TEXT-DECORATION: underline } #ft A:visited { COLOR: #7777cc; TEXT-DECORATION: underline } #usrbar { LETTER-SPACING: normal } #usrbar A { LETTER-SPACING: normal } #usrbar A:link { LETTER-SPACING: normal } #usrbar A:visited { LETTER-SPACING: normal } #ft { LETTER-SPACING: normal } #ft A { LETTER-SPACING: normal } #ft A:link { LETTER-SPACING: normal } #ft A:visited { LETTER-SPACING: normal }
===================================================== 本文系原创文章,转载请注明文章源自思想之地 ,作者:朦胧中的罪恶 ===================================================== 下面就是详细过程。 步骤一: 1.首先下载并安装相应软件 Jdk是绝对必要的,它是跑Eclipse 的最基本要求,到这里 下载。 Eclipse整合了PHP开发插件版本在这里 下载,选择对应自己的操作系统的版本后下载到本地即可。 XDebug到这里 下载,请根据自己PHP的版本选择相应文件下载。 服务器任意,推荐使用Apache+PHP模块安装方式。 2.软件安装 首先安装JDK后,安装好后请按照下面步骤配置系统变量 其次是安装Eclipse,Eclipse不用怎么设置,只要设置好了JDK,Eclipse放置于任何位置都可以直接运行 最后Xdebug安装 我自己使用的是PHP5.2.5,下载的xdebug文件名为:php_xdebug-2.0.3-5.2.5.dll,将文件放到php/ext文件夹下即可 3.配置 xdebug配置 打开php.ini 在最后一行加入以下配置代码,配置说明已经做好注释 ;载入Xdebug ;xdebug配置 注意zend_extension_ts后面的路径要填写绝对路径,保存后重启服务器即可。 此时用phpinfo()查看php配置,如果安装成功,应该可以看到以下信息: 下面是eclipse的配置 详细配置请看下图说明(所有图片均可点击放大查看) eclipse全局总体配置 :(点击放大查看) 测试服务器配置: 在上面窗口中点击 PHP Server.... 后 (点击放大查看)
PHP项目总体配置: 打开或新建一个php项目后,在项目上单击右键,选择 Properties(点击放大查看) 按照自己的实际要求配置好之后,整体的调试环境就完全配置好了,开始enjoy吧! 下面介绍如何开始调试 1.首先打开你要调试的页面,我这里以emlog首页index.php为例 在eclipse的菜单中照图中的顺序选择: 这时eclipse就会启动debug界面,效果截图:(点击放大) 如果你的服务器配置正确,那么就会蹦出浏览器并看到程序页面了。 现在进入重点,很酷的PHP断点调试功能 在你要设定断点的行上点击右键,选择 Toggle Breakpoints 设定好之后,请再启动debug 下面是个例子(点击放大) 有人肯定会问,这是首页,如果我要调试的页面带有参数或者不能直接访问怎么办? 答案很简单,你只要在需要的调试的页面上设定断点,debug时启动任何一个可以直接访问的页面,然后从页面上点击到你要访问的页面,或者访问调用你要调试的文件的页面即可,运行到断点的时候eclipse会自动跳出来,这时你就可以开始调试了。 |