想学习discuz,但是不知道应该用什么IDE调试程序。我不想用editplus啊 希望有高手说说zd之类的怎么进行类似的cms调试工作。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 网上找的,也试过,还可以用,但是总觉得只能调试一个文件,不是很好用。能不能用xdebug之类的调试呢---------------------------------------------Zend Studio调试步骤1、新建一个工程。 “File”--“PHP Project” Contents选择“Create project at existing location(from exiting source)”,目录选择你要想包含进文件的所在目录,例如以上就设“D:\Inetpub\wwwroot\bbs”,至于工程名可以不是bbs,像 disduz,Zend不会在D:\Inetpub\wwwroot\bbs下新建一个disduz目录。复制代码2、左侧“PHP Explor”窗口,在你希望调试的php上点鼠标右键,弹出菜单中选“Debug As”——“1 PHP Script”,这时Zend就进入调试模式,你可以灵活使用断点,从“Variables”窗口能看到当前变量所有值,系统自有的, 像$_ENV、$_POST,及你自己定义的。 Zend默认在第一条语会停一次,类似第一条语句有一个断点。 为更好理解调试选项,建议打开帮助(放心,没多少字): Zend Studio User Guide > Tasks > Debugging Files and Applications Locally Debugging a PHP Script复制代码以上就是用Zend Stuio调试*.php基本操作。操作说完了,最后说下个人在调试过程中一点经验,希望对看到的人有点帮助。用户一次操作往往由数个php文件组成。例如Discuz中编辑贴子,它涉及到viewthread.php(显示贴子),按下“编辑”,将执行 post.php。如果想知道post.php中编辑框里字符串是怎么来的,那该怎么办?——这似乎和两个页面相关,但Zend Studio确实一次只能调试一个php。作为一条规则,显示帖子的viewthread.php一旦结束解析,它的那些文件内定义的变量就失效了!这就有个问题,post.php如何知道要编辑的是哪个板块哪个帖子呢?这就要对php执行上下文要有一个大概了解。当一个php被运行时,一开始有效的变量除了超全局变量还有一种是参数中变量。就像以下这条语句: <A class=editpost onclick="floatwin('open_edit', this.href, 600, 410, '600,0');return false;" href="http://www.freeors.com/bbs/post.php?action=edit&fid=37&tid=18725&pid=25696">编辑</A>复制代码它的作用是鼠标按了“编辑”后弹出post.php页,执行php页的URL是: http://www.freeors.com/bbs/post.php?action=edit&fid=37&tid=18725&pid=25696复制代码这个URL包含了四个参数,对于post.php来说,就是等于给它的四个全局变量赋了值: $action=edit; $fid=37; $tid=18725; $pid=25696;复制代码知道这个后,你想知道post.php中编辑框里字符串是怎么来的,你就改下post.php,在“很开始处”添加以上那四条变量赋值语句,然后用Zend调试post.php。对于要能编辑贴子,实际使用时还要涉及到权限、cookie等等,以上只是简单说下是这么个行为。因为Zend一次调试只能调试一个php,当你遇到一个陌生php工程时,这就使得你需要尽快定位出要调试的是哪个php。个人采用方法:浏览那个网页, 保存成本地文件*.html,看*.html代码,就像上面要确定“编辑”帖子要调的是哪个*.php时, 就找到编辑那地方,通过看html代码知道要调试的是post.php,及需要一开始就生效变量有action、fid、tid和pid。 面试题,求解 关于xml与PHP从数据库读取东西的问题 关于cookie判断和网页显示 ajax 检测用户名 关于发送email无法收到的问题, php中如何获取以下动态生成的text控件的个数,并且如何获取每个控件的值。 关于 分页 显示 数据库 表中记录的问题 请问为何我在服务器上已经把php文件设置为666属性,却仍然可以执行? 用file()函数时发生错误,如下: 我的frameset 显示不正常 , 是不是我的ie 不支持还是别的什么系统设置原因呢? 很迷惑! 刚学PHP遇到点问题 请教大家 表单提交方式
---------------------------------------------Zend Studio调试步骤1、新建一个工程。 “File”--“PHP Project”
Contents选择“Create project at existing location(from exiting source)”,目录选择你要想包含进文件的所在目录,例如以上就设“D:\Inetpub\wwwroot\bbs”,至于工程名可以不是bbs,像 disduz,Zend不会在D:\Inetpub\wwwroot\bbs下新建一个disduz目录。复制代码
2、左侧“PHP Explor”窗口,在你希望调试的php上点鼠标右键,弹出菜单中选“Debug As”——“1 PHP Script”,这时Zend就进入调试模式,你可以灵活使用断点,从“Variables”窗口能看到当前变量所有值,系统自有的, 像$_ENV、$_POST,及你自己定义的。 Zend默认在第一条语会停一次,类似第一条语句有一个断点。
为更好理解调试选项,建议打开帮助(放心,没多少字):
Zend Studio User Guide > Tasks > Debugging Files and Applications
Locally Debugging a PHP Script复制代码
以上就是用Zend Stuio调试*.php基本操作。操作说完了,最后说下个人在调试过程中一点经验,希望对看到的人有点帮助。用户一次操作往往由数个php文件组成。例如Discuz中编辑贴子,它涉及到viewthread.php(显示贴子),按下“编辑”,将执行 post.php。如果想知道post.php中编辑框里字符串是怎么来的,那该怎么办?——这似乎和两个页面相关,但Zend Studio确实一次只能调试一个php。作为一条规则,显示帖子的viewthread.php一旦结束解析,它的那些文件内定义的变量就失效了!这就有个问题,post.php如何知道要编辑的是哪个板块哪个帖子呢?这就要对php执行上下文要有一个大概了解。当一个php被运行时,一开始有效的变量除了超全局变量还有一种是参数中变量。就像以下这条语句: <A class=editpost
onclick="floatwin('open_edit', this.href, 600, 410, '600,0');return false;"
href="http://www.freeors.com/bbs/post.php?action=edit&fid=37&tid=18725&pid=25696">编辑</A>复制代码
它的作用是鼠标按了“编辑”后弹出post.php页,执行php页的URL是: http://www.freeors.com/bbs/post.php?action=edit&fid=37&tid=18725&pid=25696复制代码
这个URL包含了四个参数,对于post.php来说,就是等于给它的四个全局变量赋了值: $action=edit;
$fid=37;
$tid=18725;
$pid=25696;复制代码
知道这个后,你想知道post.php中编辑框里字符串是怎么来的,你就改下post.php,在“很开始处”添加以上那四条变量赋值语句,然后用Zend调试post.php。对于要能编辑贴子,实际使用时还要涉及到权限、cookie等等,以上只是简单说下是这么个行为。因为Zend一次调试只能调试一个php,当你遇到一个陌生php工程时,这就使得你需要尽快定位出要调试的是哪个php。个人采用方法:浏览那个网页, 保存成本地文件*.html,看*.html代码,就像上面要确定“编辑”帖子要调的是哪个*.php时, 就找到编辑那地方,通过看html代码知道要调试的是post.php,及需要一开始就生效变量有action、fid、tid和pid。