本人主要是做asp.net开发的,但有时候也会接触到php,而且我认为php有很多源码值得学习,我们不是学习php代码的写法,而是学习源码的实现思路,或者免强叫为算法。
作为一名非专业的php开发者,想要较方便地读懂并搞清楚一个php功能模块的运行细节,搭建一个php调试环境,然后单步调试程序,以掌握程序的整个运行过程显的尤为重要。
一、 准备安装文件
1、phpnow-1.5.6。“phpnow 是 win32 下绿色免费的 apache + php + mysql 环境套件包。简易安装、快速搭建的 php 环境。”
2、zenddebugger-5.2.14。zend公司的php调试工具或叫插件。 http://downloads.zend.com/pdt/rver-debugger/zenddebugger-5.2.14-cygwin_nt-i386.zip
3、zendstudioenterpriedition-v5.5.0。据说php业界最著名的ide,不知道基于eclip插件的php开发环境如何,有时间玩一下再说。
二、 配置程序
1、安装phpnow。把安装包phpnow-1.5.3.zip解压到一个地方,像我这里解压到“d:\s我学会了 四年级下册oft\php”,然后双击php文件夹中的“tup.cmd”开始安装,中间安装到mysql的时候会提示你输入数据库用户名和密码,本地测试用一般就都设为“root”。安装完成后在浏览器输入以下地址http://127.0.0.1/,如果成功的话,你将会看到如下画面:
注意:如果你的系统之前有安装iis,并且iis是运行着的,要先把iis停止掉,不然80端口会冲突,虽然通过“pncp.cmd”工具可以修改apache端口,但不建议这样改。
2、安装zenddebugger。把zenddebugger-5.2.14-cygwin_nt-i386.zip解压到phpnow安装目录,即“d:\soft\php”,然后把zenddebugger-5.2.14rc9-cygwin_nt-i386文件夹名字改成zenddebugger这样短文件名,进到zenddebugger目录,我们可以看到下面那样的文件结构:
现在要把文件夹中的x_x_x_comp文件夹重命名为php-x.x.x,比如将“5_2_x_comp”重命名为“php-5.2.x”,因为我的测试环境都是php5.2的,所以我可以只改“5_2_x_comp”这一个文件夹。这里的改动是为了等一下在php.ini中配置它。
现在去php安装目录修改php配置文件,这个文件通常被命名为“php.ini”,让服务器能正确加载我们的模块。但是这个phpnow环境下的php配置文件不叫“php.ini”,而是“php-apache2handler.i土耳其火鸡ni”,我们怎么可以知道当前web服务器所用php的配置文件名呢。下面就是一个办法:在“d:\soft\php\htdocs”目录,建立一个phpinfo.php文件,并在其中输入内容“<?php echo phpinfo(); ?>”,然后打开浏览器可以看到如下信息,反白显示路径就是当前php配置文件所在路径了:
注意:这里指的php配置文件是网站依赖的php配置文件,不是下面提到的zend studio目录下的php.ini文件(zend studio也自带了几个不同版本的php),如下图:
修改“d:\soft\php\php-5.2.9-2-win32\php-apache2handler.ini”文件。用记事本打开该文件,移动侧栏滚动条至最底部,在文档尾部可以发现以下配置节点:
在其尾部追加:
zend_extension_manager.debug_rver_ts=”d:\soft\php\zenddebugger”
zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.8/24
zend_debugger.expo_remotely=always
最终应该像这样:
解释一下:
(1);zend_extension_ts=”d:\soft\php\zenddebugger\5_2_x_comp\ze电教nddebugger.dll”这是我注释的,因为这样设置zend_extension_ts重复,出现不能与zendoptimizer共存情况。
(2)、zend_extension_manager.debug_rver_ts=”d:\soft\php\zenddebugger”,这里指到目录就行了,php会自动根据自己版本去下面找php_x_x_x这样文件夹下面的dll文件,这也是上面我们为什么要对zenddebugger下面子目录改名的原因。
(3)、zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.8/24,这里后面的192.168.0.8改成你自己的ip就行了,可以像下面那样查看到自己的ip地址:
后面的“32”,“24”不用改,它们不是目录名,而是子网掩码类型代号,“32”代表“255.255.255.255”,“24”代表“255.255.255.0”。
在浏览器打开:http://127.0.0.1/phpinfo.php,如果能看到如下信息则表明安装成功,注意看最后一行“with zend debugger v5.2.14, copyright (c) 1999-2008, by zend technologies”。回到http://127.0.0.1/我们发现组件支持框里zend optimizer支持情况还是“yes”的,说明我们zend debugger与zend optimizer是共存运行的(网上提供好些教程是不共存运行的,那样不够完美)。
3、安装zend studio。解压zendstudioenterpriedition-v5.5.0.270.rar,执行解压文件后的win_tup.exe文件,默认一路next下去,这样就把zend studio成功安装在c盘了。运行它,然后关闭,因为默认是英文的,我们去改成中文。在c盘(即zend studio安装所在盘),搜索文件“desktop_options.xml”,如下图。
找到后用记事本打开,找到:
<customized_property id=”desktop.language”>
<locale language=”en” country=”” variant=””/>
</customized_property>
把上面的en改成zh并保存,然后把这个文件标记为“只读”( zend studio在特定的时候自动重启会改回默认设置,设成“只读”它就无能为力了)。另外像下面的编码选项也可根据实际情况修改:
<customized_property id=”editing.encoding”>
<encoding name=”default”/>
</customized_property>
比如可以改为<encoding name=”utf-8″/>,在用zend studio打开代码文件发现中文乱码时候可以修改这个选项看看。
三、 开始调试
从“开始菜单”找到“zend development envi春节放假几天ronment(zend studio)”并运行它。新建一个项目,并在这个项目中引入一个开发好的源码包,我这里的源码包在“d:\soft\php\htdocs\cms”,这cms是supesite7.0程序,在新建项目的调试选项里设置成像下图,其中debug rver url也可以是127.0.0.1这样的地址,只要几处设置同步就行:
另外“工具”菜单“首选项”的“调试”标签也设置成如下图:
现在检查一下:
成功的话将显示“已与debug rver成功连接。”对话框。
打开supesite7.0源码项目,选择zend studio内置浏览器,并在地址栏里输入:http://127.0.0.1/cms/ batch.arch.php,这里我演示supesite7.0的搜索页代码调试。现在你直接按浏览器最左边的“介壳虫”按钮(从旁边倒三角可以选择不同的调试范围),直接进入batch.arch.php页面调试(如果batch.arch.php页之前不在编辑状态,即没有打开过,直接调试会自动打开,另外如果你用f11逐语句执行的话,当前调试页包含的外部代码文件也会被打开。
按调试按钮后,直接转到源码,光标定位在第一个语句了(这里我没有设置断点,并以f5方式调试程序),像下面那样:
现在我们测试一下点击一个按钮提交表单值并捕获它。像下图那样,点“搜索”按钮后看关键字“what is cms ?”是被如何处理的。你操作顺序必须像这样:打开http://127.0.0.1/cms/batch.arch.php—>输入关键字“what is cms ?”—>点击“搜索”按钮—>点击浏览器工具栏的杂糅是什么意思“介壳虫”按钮。
调试后我们可以看到“what is cms ?”是用什么变量存储并被处理的。如下图:
至此,整个zend studio+phpnow+zend debugger服务器调试环境搭建完毕,并演示了使用方法。
本文发布于:2023-04-06 23:25:04,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/67e30bec38e4a41abacf3af96be22b0d.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤.doc
本文 PDF 下载地址:用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤.pdf
留言与评论(共有 0 条评论) |