用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤

本人主要是做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/server-debugger/ZendDebugger-5.2.14-cygwin_nt-i386.zip

3、ZendStudioEnterpriseEdition-v5.5.0。据说PHP业界最著名的IDE,不知道基于Eclipse插件的PHP开发环境如何,有时间玩一下再说。

二、 配置程序

1、安装PHPnow。把安装包PHPnow-1.5.3.zip解压到一个地方,像我这里解压到“D:\soft\PHP”,然后双击PHP文件夹中的“Setup.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.ini”,我们怎么可以知道当前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_server_ts="D:\soft\PHP\ZendDebugger"
zend_debugger.allow_hosts=127.0.0.1/32,192.168.0.8/24
zend_debugger.expose_remotely=always

最终应该像这样:


解释一下:

(1);zend_extension_ts="D:\soft\PHP\ZendDebugger\5_2_x_comp\ZendDebugger.dll"这是我注释的,因为这样设置zend_extension_ts重复,出现不能与ZendOptimizer共存情况。

(2)、zend_extension_manager.debug_server_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。解压ZendStudioEnterpriseEdition-v5.5.0.270.rar,执行解压文件后的win_setup.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 Environment(Zend Studio)”并运行它。新建一个项目,并在这个项目中引入一个开发好的源码包,我这里的源码包在“D:\soft\PHP\htdocs\cms”,这cms是SupeSite7.0程序,在新建项目的调试选项里设置成像下图,其中Debug Server URL也可以是127.0.0.1这样的地址,只要几处设置同步就行:

 

另外“工具”菜单“首选项”的“调试”标签也设置成如下图:


现在检查一下:


成功的话将显示“已与Debug Server成功连接。”对话框。

打开SupeSite7.0源码项目,选择Zend Studio内置浏览器,并在地址栏里输入:http://127.0.0.1/cms/ batch.search.php,这里我演示SupeSite7.0的搜索页代码调试。现在你直接按浏览器最左边的“介壳虫”按钮(从旁边倒三角可以选择不同的调试范围),直接进入batch.search.php页面调试(如果batch.search.php页之前不在编辑状态,即没有打开过,直接调试会自动打开,另外如果你用F11逐语句执行的话,当前调试页包含的外部代码文件也会被打开。


按调试按钮后,直接转到源码,光标定位在第一个语句了(这里我没有设置断点,并以F5方式调试程序),像下面那样:


现在我们测试一下点击一个按钮提交表单值并捕获它。像下图那样,点“搜索”按钮后看关键字“What is CMS ?”是被如何处理的。你操作顺序必须像这样:打开http://127.0.0.1/cms/batch.search.php—>输入关键字“What is CMS ?”—>点击“搜索”按钮—>点击浏览器工具栏的“介壳虫”按钮。


调试后我们可以看到“What is CMS ?”是用什么变量存储并被处理的。如下图:


至此,整个Zend Studio+PHPnow+Zend Debugger服务器调试环境搭建完毕,并演示了使用方法。

(0)

相关推荐

  • Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法

    当然这个东西很吃内存,配置差点的就不推荐使用了. 最近用的时候, 发现, 建立PHP工程后,再打开 Zend Studio for Eclipse就出现这个错误 An internal error occurred during: "Building PHP projects ..."java.lang.NullPointerException 很烦人的. 出错后PHP projects 会停止build,代码提示就全部没有了.需要手动rebuild. 今天在zend论坛找到一个解决办

  • 解析zend studio中直接导入svn中的项目的方法步骤

    1.在zend-studio中的项目explorer中右键->import->选择svn->project from svn->next->选择create new ...location->url里面输入项目的地址:例如:svn://192.168.1.230/xuexi. 2.在下面输入你登陆svn的用户名和密码,然后,选中save password.之后点击next. 3.之后这步非常重要,很容易搞的新手不知道怎么做的一步.因为路径对了,用户名密码都对了,但是到这

  • PHP 开发环境配置(Zend Studio)

    安装完成后运行程序 在Help菜单中有Register选项进行注册. 提供注册码如下: Username: zendstudio.netSerial Number: 3727234F6095F72034F6095F

  • Zend Studio使用技巧两则

    本文讲述了两则Zend Studio的使用技巧.分享给大家供大家参考,具体如下: 1.新建文档的模板设置: Window -> Preferences -> PHP -> Editor -> Templates -> New simple PHP file 这个可以修改每次新建文件的起始代码. 2.自动提示代码速度很慢: Window -> Preferences -> PHP -> Editor -> Content Assist ->Auto

  • Zend Studio 实用快捷键一览表(精心整理)

    注:本文省略"通用快捷键"描述,诸如:ctrl+N=新建,ctrl+O=打开,ctrl+C=复制,ctrl+V,ctrl+X--等等几乎所有软件都通用的一组快捷键,而着重介绍zde独有的快捷键,了解并灵活运用这些快捷键以后,一定能帮助您在实际的项目操作中更加游刃有余.(怎么越写越觉得我是在做游戏秘籍,哈哈!) 编辑功能 组合键 实现功能 适用条件 Ctrl+/ 单行注释.当前为php代码时,则在光标所在行添加双斜杠行注释,选择多行则每一行都添加双斜杠:而当代码为html时则在行前后添加

  • Zend Studio去除编辑器的语法警告设置方法

    环境:Zend Studio 8.0 Zend Studio是PHP开发者的首选开发工具,其地位相当于微软开发工具中的Visual Studio.Zend Studio的编辑器可以帮我们指出语法错误和警告,但是太多的警告有时让我们的代码看起来很乱,很不舒服.如图: 如何去除语法检查中的警告呢?Google后没有找到答案,只好自己摸索,终于找到了: 打开window==〉preferences,找到如下选项,将右边的钩全打掉即可. 一下子变得清爽了:

  • PHP开发工具ZendStudio下Xdebug工具使用说明详解

    从学习PHP基础知识到使用ZendSudio工具开发有半年多了,这过程中,学习断断续续,遇到的问题也是N多,学习PHP还真是不让人省心.最不省心的还是算调试过程. 学习编程,一定要懂得调试,否则就如同盲人摸象,理不清这里面的运行机制.也许是因为自己非科班出来,或是领悟力不足,又或本身xdebug工具本身设置较为复杂,导致我对Zendstudio的调试过程充满了步步惊心. 我使用的是XAMPP的集成开发平台环境.里面已经预设了Xdebug的调试工具,只需要自己改下配置的就可以了. 我的开发模式是,

  • 使用zend studio for eclipse不能激活代码提示功能的解决办法

    其实这是项目没有经过zend studio for eclipse 编译(应该是建立索引吧)导致的,那么就只要让它重新编译项目代码即可. 操作如下: 随便新建一个项目,比如test.然后找到test项目所在的目录,把目录下的.cache和.setting都复制到要重编译的项目的目录下,把test项目中的.project中的name改成要重编译的项目的项目名称,再复制到该目录下替换掉原有的.project.重启等待编译完成即可解决代码提示问题.

  • 关于Zend Studio 配色方案插件的介绍

    首先,菜单栏–help–install new software- 接着,添加一个更新源,就是点击界面的add按钮,在新窗口的location位置输入http://eclipse-color-theme.github.com/update/,然后上边的Name自己随便起.然后ok. 选择你刚添加的更新源,稍等后应该能看到下边有eclipse_color_theme这个插件了,勾选,安装,同意协议,等等,然后重启Zend Studio. 菜单栏–window-preference,直接搜索them

  • php入门教程之Zend Studio设置与开发实例

    本文实例讲述了php入门教程之Zend Studio设置与开发方法.分享给大家供大家参考,具体如下: 新建文档的模板设置 新建文档的模板设置 Demo1.php: <?php echo "阅谁问君诵,水落清香浮." ?> orderform.php: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD

  • Zend studio for eclipse中使php可以调用mysql相关函数的设置方法

    如果直接调用mysql_connect会出现:Fatal error: Call to undefined function mysql_connect() 的错误 解决办法, 找到zend studio php.ini所在的位置 我的zend studio安装在D:\Program Files\ 所以php.ini所在位置为:D:\Program Files\Zend\Zend Studio for Eclipse - 6.0.0\plugins\org.zend.php.debug.debu

随机推荐