php 服务器调试 Zend Debugger 的安装教程

 更新时间:2009年09月25日 23:52:42   作者:  
调试技术是我们编程中不可或缺的重要部分,调试器是每个IDE环境都必备的组件。既然如此,Zend Studio的集成环境拥有一个调试器也就是理所当然的事情了,但是,该调试器在配置使用起来,其显示出来的强劲功能一定会让你惊叹不已!
事实上,Zend Studio(后面我简称“ZDE”了)的调试功能分为内部调试和远程调试。内部调试是用ZDE内置的PHP(有4、5两个版本)进行的代码初步调试,我们把重点放在远程调试上,因为它可以完全模拟一个真实的运行环境。

远程调试需要服务器端的组件支持,我们今天的内容就是怎么来安装这个服务器端调试环境,用到的调试组件是Zend Debugger,它是轻便而且够用的,在撰写本文时,其最新版本是5.2.14,与网络上广为流传的5.2.10版略有更新。我的服务器是windows下的apache,因此我就下载了windows版的Zend Debugger,下来的压缩包大约2.1M,有个readme.txt,我觉得有必要看哈子:

Zend Debugger installation instructions
—————————————
1. Locate ZendDebugger.so or ZendDebugger.dll file that is compiled for the correct version of PHP (4.3.x, 4.4.x, 5.0.x, 5.1.x, 5.2.x) in the  appropriate directory.
2. Add the following line to the php.ini file:
  Linux and Mac OS X: zend_extension=/full/path/to/ZendDebugger.so
  Windows: zend_extension_ts=/full/path/to/ZendDebugger.dll
  Windows non-tread safe: zend_extension=/full/path/to/ZendDebugger.dll

  (*) the windows non-thread safe is used only with Zend Core 2.0

  3. Add the following lines to the php.ini file:
  zend_debugger.allow_hosts=<ip_addresses>
  zend_debugger.expose_remotely=always


4. Place dummy.php file in the document root directory.
5. Restart web server.

这里已经非常详细的讲了安装方法了,那我就以我晦涩的语言再描述一遍吧
以下是压缩包内所有文件的列表:
ZendDebugger-5.2.14RC9-cygwin_nt-i386\md5
ZendDebugger-5.2.14RC9-cygwin_nt-i386\Inventory.xml
ZendDebugger-5.2.14RC9-cygwin_nt-i386\4_3_x_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\4_3_x_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\4_4_x_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\4_4_x_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_0_x_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_0_x_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_1_x_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_1_x_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_2_x_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_2_x_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_2_x_nts_comp
ZendDebugger-5.2.14RC9-cygwin_nt-i386\5_2_x_nts_comp\ZendDebugger.dll
ZendDebugger-5.2.14RC9-cygwin_nt-i386\dummy.php
ZendDebugger-5.2.14RC9-cygwin_nt-i386\README.txt

解压出合适的也就是和你当前php的版本对应的Zend Debugger版本,我的php版本是5.2.5,因此我就把5_2_x_comp给拖出来了(至于5_2_x_nts_comp指的是non-tread safe,没有明白具体用途,也就不妄用了),我将5_2_x_comp\ZendDebugger.dll移动到D:\myserver\ZendDebugger\5_2_x\ZendDebugger.dll,将压缩包中的dummy.php解压到web根目录,我这里的apache的DocumentRoot设置在D:/myserver,就拷贝dummy.php到D:\myserver\wwwroot,然后修改php.ini,加入了这些内容:

zend_extension_ts=D:/myserver/ZendDebugger/5_2_x/ZendDebugger.dll
  zend_debugger.allow_hosts=127.0.0.1/32,192.168.1.88/24
zend_debugger.expose_remotely=always

然后重启apache,在略微的等待之后,我们输入phpinfo()查看成功与否?

啊哈,运行的很好的嘛~ 

下面打开ZDE,工具菜单->首选项,选择调试选项卡,设置调试方式为服务器,Debug Server URL填写web服务器的URL,我这里apache的端口是8080,如果是默认80端口,就可以省略了,OK,设置完成,确定之(如图) 


 

选择 工具->检查Debug Server连接,出来的对话框选择是,我们看到了连接成功的提示 

 
至此,我们的Debug Server就算成功安装完成了,关于如何使用Zend Studio的服务器调试,后面的教程会详细阐述,敬请期待哦。

相关文章

  • PHP魔术引号所带来的安全问题分析

    PHP魔术引号所带来的安全问题分析

    这篇文章主要介绍了PHP魔术引号所带来的安全问题分析,对于安全编码来说非常重要!需要的朋友可以参考下
    2014-07-07
  • php校验公钥是否可用的实例方法

    php校验公钥是否可用的实例方法

    在本文里小编给大家整理的是一篇关于php校验公钥是否可用的知识点内容,需要的朋友们参考下。
    2019-09-09
  • 分享PHP守护进程类

    分享PHP守护进程类

    这篇文章主要介绍了PHP守护进程类,守护进程(Daemon)是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件。守护进程是一种很有用的进程。php也可以实现守护进程的功能,需要的朋友可以参考下
    2015-12-12
  • PHP下获取上个月、下个月、本月的日期(strtotime,date)

    PHP下获取上个月、下个月、本月的日期(strtotime,date)

    因为工作需要需要获取上个月、下个月、本月的日期,特从网站找到了实现代码,特分享下,方便需要的朋友
    2014-02-02
  • php中eval函数的危害与正确禁用方法

    php中eval函数的危害与正确禁用方法

    这篇文章主要介绍了php中eval函数的危害与正确禁用方法,需要的朋友可以参考下
    2014-06-06
  • PHP编程获取图片的主色调的方法【基于Imagick扩展】

    PHP编程获取图片的主色调的方法【基于Imagick扩展】

    这篇文章主要介绍了PHP编程获取图片的主色调的方法,基于PHP的Imagick扩展实现针对图片的颜色值获取功能,需要的朋友可以参考下
    2017-08-08
  • PHP生成静态HTML文档实现代码

    PHP生成静态HTML文档实现代码

    这篇文章主要为大家详细介绍了PHP生成静态HTML文档实现代码,将数据库中的文章数据生成单个的HTML文档原理,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • php中实现记住密码自动登录的代码

    php中实现记住密码自动登录的代码

    记得登录QQ的时候,我们可以选记住密码自动登录,这个功能确实很方便、实用。其实在我们登录网站后台的时候,浏览器就会有提示是否记住登录状态。
    2011-03-03
  • 介绍一些PHP判断变量的函数

    介绍一些PHP判断变量的函数

    与其他语言不同,PHP不是一种严格的类型语言。基本上,这意味着开发者在使用一个变量前,不必明确地设定这个变量的类型(数字、字符串、布尔值)。相反,PHP解释程序根据存储在变量中的信息自动探测变量的类型
    2012-04-04
  • PHP学习笔记之二

    PHP学习笔记之二

    PHP学习笔记之二,开始学习php的朋友可以看下。
    2011-01-01

最新评论