`

php 断点调试工具配置之一

 
阅读更多

 

开始之前

关于本教程

本教程将演示如何为 Eclipse 配置 PHP Development Tools(PDT)插件以调试 PHP 脚本,并介绍在详细查看脚本时应使用哪些透视图(即 PHP 调试)。

目标

完成本教程后,您将能够使用 PDT 项目开发 PHP 应用程序,从而在 Eclipse 中设置 XDebug — 一种开源项目,可以调试可执行的或运行在 Web 服务器上的脚本 — 或 Zend Debugger。您将了解 PDT 项目的 PHP Debug 透视图的各个部分,并了解如何设置、查看和使用断点。您还将了解在单步调试代码时如何检查变量的值,以及如何在本地服务器上调试 PHP Web 应用程序,从而使用调试器遍历 PHP Web 应用程序。

 

先决条件

要从本教程获得最大收益,您应该熟悉一些 PHP 开发。最好是曾经进行过软件开发。如果熟悉其他语言的调试,则可以更好地理解调试概念。本教程适合于接触 Eclipse 不多的新手,而不是长期使用 Eclipse 的人员。

系统需求

要完成本教程,您需要以下设置:

运行 Microsoft® Windows®、Mac OS X 或 Linux® 的计算机
本教程的示例 php.ini 文件用于 Mac OS X 和 Linux 系统。由于两种调试器都需要进行配置,以告诉 PHP 调试器扩展的位置,因此惟一明显的区别 — 如果查看 Windows 示例 — 是调试器扩展的路径。对于 Mac OS X 和 Linux,库名以.so结尾。对于 Windows,库名以.dll结尾;同样,使用正斜杠(/)而不是反斜杠(\)作为目录分隔符。
PHP V5.x
Linux 用户可以使用其发行版中附带的软件包安装 PHP。OS X 和 Windows 用户可以在 PHP.net 中查找PHP V5.x

注意:本教程的示例使用的是 PHP V5.2.5。

Eclipse V3.3
Linux 用户可以很容易获得 Eclipse,因为它通常包含在发行版附带的软件包中。也可以在Eclipse 下载中找到 Eclipse 集成开发环境(IDE)。
用于 Web 应用程序的 Apache 或 Microsoft Internet Information Services(IIS)
需要安装一个 Web 服务器来运行教程示例,演示如何在服务器中调试 PHP Web 页面。然而,如果只希望调试非 Web 页面的 PHP 脚本,则不需要使用 Web 服务器。对于本教程,我们使用 Apache V2 作为 Web 服务器。此外,也可以使用 Windows 和 IIS。本教程需要您具有适当的访问权限,可以写 Web 服务器文档的根目录。
Eclipse PHP Development Tools 框架
如果还没有安装PHP Development Tools (PDT),请阅读 “PDT 项目概述” 小节,以决定是否需要下载并安装绑定在 Zend Debugger 中的 PDT。Eclipse FoundationPDT/Installation wiki提供了简要的说明。
Zend Studio Web Debugger
下载Zend Studio Web Debugger的 30 天试用版。

 

安装和配置调试器

本节将介绍调试器的配置并将它连接到 PDT 中,准备调试示例项目中的 PHP 文件。

两种调试器都需要进行配置,包括将扩展复制到一个目录、使用一些配置值配置扩展并重启 Web 服务器。完成这些工作后,就可以使用两种调试器中的一种调试 PHP 应用程序了。

注意:如果只希望调试 PHP 脚本(而不是服务器上的 Web 页面),并且还没有安装 PDT,最快速方法是使用 Eclipse 更新站点 Zend.com 来安装与 Zend Debugger 绑定在一起的 PDT 版本。安装完成后就可以在 IDE 中开始调试 PHP 脚本。

安装 Zend Debugger

确保编辑正确的文件

在编辑 php.ini 之前,使用脚本中的phpinfo()函数获得有关 PHP 应用程序的更多信息。这些信息包括配置文件的完整路径以及扩展目录的位置。关于更多信息,请参见 “故障排除” 小节。

安装绑定的 Zend Debugger 很容易,因为可以从 Zend 的更新站点获得,就像从 Eclipse 更新站点获得 PDT 一样。如果从 Zend 的站点下载 PDT 绑定版,则可以立即开始调试脚本。

如果希望使用 Zend Debugger 在服务器上调试 PHP Web 页面,需要安装 PHP 扩展并在 php.ini 配置文件中进行配置。要安装和配置这些扩展,需要执行以下操作:

  1. 从 Zend 的 Web 站点下载 Zend Web 服务器扩展的二进制文件。
  2. 提取包含二进制文件的 ZIP 文件。
  3. 将扩展二进制文件(称为ZendDebugger.dllZendDebugger.so)复制到一个文件夹。不一定非要将它们放到 PHP 扩展文件夹中,但这是一个不错的位置,因为这使所有的扩展二进制文件都集中到同一个位置。如果不知道具体是哪个文件夹,请查看 “故障排除” 一节。
  4. 使用清单 5 中的设置更新您的 php.ini 文件。可能需要验证正在编辑的文件是否是正确的 php.ini 文件。同样,必须确保zend_extension指令是正确的。请参看 “故障排除” 获得更多信息。


清单 5. 修改后的 php.ini

                    
[Zend]
zend_extension="/full/path/to/ZendDebugger.so"
zend_debugger.allow_hosts="127.0.0.1, 10.0.1.3"
zend_debugger.expose_remotely=always

 

  1. 重新启动 Web 服务器。
  2. 检验 Zend Debugger 是否被正确安装,方法是在脚本中使用phpinfo()函数或php -m命令并查看[Zend Modules]


清单 6.php -m命令的输出

                    
[Zend Modules]
Zend Debugger

 

在检验安装时,如果没有看到列出的模块,则不能通过 PDT 运行调试器(这将在下一节描述)。在服务器调试文件之前,必须正确地安装模块。

如果检验到模块已成功安装,则继续 “设置 PDT” 小节。

 

安装 XDebug

要使用 XDebug 作为 PDT 的调试器,需要下载并安装 XDebug,就像没有使用 Eclipse 时的做法一样。有关 XDebug 的下载和安装说明请查看xdebug & eclipse pdt。在编写本教程时,这些说明仍然适用,但是本教程仅从较高的层次介绍了这些内容:

  1. 下载正确的二进制文件(Windows)或源文件(Linux 或 Mac OS X)。
  2. 如果使用的是 Mac OS X 或 Linux,则编译 XDebug 库。因此必须先在目录中运行phpize命令,然后运行make命令,如下所示。


清单 7. XDebug 编译命令

                    
# cd [directory_with_source]
# phpize
# make

 

  1. 使用合适的zend_extension指令编辑 php.ini 文件以包括 XDebug 的模块(参见 “故障排除” 获得详细信息)。
  2. 重新启动 Web 服务器。
  3. 检验 XDebug 是否正确安装,方法是在 Web 服务器中使用php -m命令或脚本中的phpinfo()函数。图 9 展示了phpinfo()的输出示例。清单 8 展示了php -m输出。


图 9.phpinfo()输出
phpinfo() 输出


清单 8. 示例php -m输出

                    
[Zend Modules]
Xdebug

 

zend_extension 还是 zend_extension_ts?

如果还不清楚使用哪个zend_extension指令,那么问题有点复杂。我曾经使用了一个错误的指令,这给我带来了很大的麻烦。参见 “故障排除” 小节,了解有关如何使用指令的提示。

在使用 PDT 和 XDebug 进行调试之前,必须正确安装模块。如果没有查看到模块信息,那么查阅 “故障排除” 小节获取提示。

在进行调试时,XDebug 的准备工作要比 Zend Debugger 多一些,因为您必须自己编译这些模块。但是现在您已经可以在 Web 服务器上调试本地脚本和文件。

 

 

配置调试器

当安装了这两种调试器的任意一种后,可以配置 PDT 使用调试器的方式,在 Eclipse PHP\Debug 之下使用首先项,如下所示。


图 10. PHP Debug 首选项
PHP Debug 首选项

注意,在默认情况下,两种调试器被设置为侦听不同的端口:Zend Debugger 为 10000,XDebug 为 9000。根据您的环境设置,可能需要修改端口设置。如果修改了端口设置,确保没有将调试器配置为绑定在相同的端口(如果同时安装了两种调试器的话)。

 

分享到:
评论

相关推荐

    php代码调试工具

    首先,Xdebug是最知名的PHP调试扩展之一,它提供了断点、步进执行、查看变量值、分析性能等功能。安装Xdebug后,开发者可以通过集成开发环境(IDE)如PHPStorm或Visual Studio Code的插件来使用这些功能。 其次,...

    PhpStorm 2017 断点调试

    PhpStorm作为一款强大的PHP集成开发环境,提供了丰富的断点调试工具。以下将详细介绍如何在PhpStorm 2017中设置和使用断点进行调试。 首先,为了启用PHP的断点调试,你需要安装Xdebug模块。Xdebug是一个PHP扩展,...

    php5.6 下用zenddebugger单步断点调试代码

    **Zend Debugger** 是一个强大的PHP调试工具,它可以集成到IDE(集成开发环境)如Zend Studio中,提供对PHP代码的远程调试能力。它支持多种操作,包括设置断点、查看变量值、单步执行代码、调用堆栈跟踪等,极大地...

    php调试工具

    PHP调试工具正是为了这一目的而存在的。本文将深入探讨PHP调试工具的使用和重要性,以及如何利用Firefox浏览器进行PHP调试。 首先,PHP调试工具的主要功能包括变量跟踪、错误检查、代码断点、步进执行、性能分析等...

    PhpStorm设置断点调试XDebug

    ### PhpStorm 设置断点调试XDebug知识点详解 #### 一、XDebug简介与安装 ...综上所述,通过以上步骤,我们可以成功地在 PhpStorm 中配置并使用 XDebug 进行断点调试,这对于提高 PHP 应用程序的开发效率具有重要意义。

    php调试配置说明和步骤

    Zend Debugger是由Zend Technologies开发的一个强大的PHP调试工具,它可以集成到IDE(如Eclipse, PhpStorm, NetBeans等)中,提供断点、步进执行、查看变量值等功能。 在Linux和Mac OS X上配置PHP调试: 1. **安装...

    PHP调试工具 PHP debug tools v1.03

    PHP调试工具PHP Debug Tools v1.03正是一款为开发者量身打造的辅助软件,旨在简化调试流程,提高开发效率。这款工具主要针对PHP初学者,但也适用于经验丰富的开发者,它具有以下核心功能: 1. 错误和异常处理:PHP ...

    php100-101PHP5.3 Xdebug 调试器配置与应用.rar

    Xdebug是由Derick Rethans开发的一款PHP扩展,它提供了诸如断点调试、变量查看、调用堆栈分析、代码覆盖率报告等功能。在PHP5.3时代,Xdebug的使用对于开发者调试复杂的PHP程序尤其重要,因为它能够帮助开发者追踪...

    Zend Studio 9.0.0 PHP调试工具Xdebug安装配置教程

    Xdebug提供了一系列实用特性,如断点调试、变量查看、堆栈跟踪、代码覆盖率分析以及性能分析等。对于PHP开发者而言,它是一个不可或缺的工具,尤其是在进行复杂项目或优化代码时。 **2. 安装Xdebug扩展** 首先,你...

    PhpStorm本地断点调试的方法步骤

    **一、断点调试PHP环境搭建** 1. **检测Xdebug安装** 首先,通过在本地运行`phpinfo()`来检查PHP环境中是否已经安装了Xdebug。查找输出结果中包含“Xdebug”的部分。如果未找到,说明需要安装Xdebug。 2. **安装...

    PHP开发调试环境配置文档——基于wamp和Eclipse for PHP Developers

    - **XDebug**:PHP的调试工具,提供断点调试、变量查看等功能。 - **Eclipse for PHP Developers**:强大的PHP开发IDE,提供代码提示、调试器等特性。 **安装软件** 1. **安装WampServer**:下载最新版本的...

    php如何搭建Zend Studio开发环境+Xdebug安装配置教程使php代码可设置断点进行调试.zip

    在PHP开发过程中,调试...通过以上步骤,你已经成功地配置了一个可以进行断点调试的PHP开发环境。现在,你可以尽情地编写、调试PHP代码,提高开发效率和代码质量。记得定期更新所有组件以获取最新的安全性和性能优化。

    xdebug--PHP调试工具

    Xdebug是一款针对PHP的强大的调试工具,由Derick Rethans开发,旨在帮助开发者进行代码调试、性能分析和优化。它提供了丰富的功能,包括断点调试、变量查看、调用堆栈跟踪、代码覆盖率分析等,是PHP开发不可或缺的一...

    PHP调试工具(PHP debug tools).7z

    在PHP环境中,调试工具可以帮助我们跟踪代码执行流程,查看变量状态,设置断点,以及分析性能瓶颈。 常见的PHP调试工具有: 1. **Xdebug**: 这是一个强大的PHP扩展,它提供了诸如堆栈跟踪、代码覆盖率分析、内存...

    PHP可调试团队开发环境配置借鉴.pdf

    - **Xdebug**:Xdebug是PHP的一个强大的调试工具,支持断点调试、堆栈跟踪、代码覆盖率分析等功能。 - **Subclipse**:Subclipse是Eclipse的一个插件,用于集成SVN版本控制系统,便于团队协作中的代码版本管理。 ...

Global site tag (gtag.js) - Google Analytics