开发人员测试和调试工具Xdebug的安装和集成教程

自学咖网努力为各位打造免费分享知识与教程网站

正如任何开发人员都可以证明的那样,在第一份草稿之后,代码永远不会准备好投入生产。开发过程的一个关键部分是调试——删除或更改所有不起作用的代码部分。

PHP的Xdebug扩展是一种根除和破坏代码中所有bug的流行方法。

Xdebug的一大优点是它的灵活性。无论你喜欢哪个框架或者开发环境,都能找到适合你工作流程的Xdebug版本。从这里开始,不用多久就能掌握这个工具。

本教程将深入研究Xdebug,包括安装过程,将其集成到您的设置中,以及一般用法。

首先,让我们给你更多关于Xdebug是什么和它做什么的背景知识。

Xdebug简介

为什么要使用Xdebug?

如何打开PHP错误日志

如何使用Xdebug

将Xdebug与PhpStorm一起使用

命令提示

Xdebug简介

Xdebug是调试PHP代码最流行的扩展之一。您将在您选择的环境中安装它,它充当“单步调试程序”。

自学咖网努力为各位打造免费分享知识与教程网站

Xdebug徽标

简而言之,这使您能够逐行处理您的代码,以便您可以逐渐看到代码在程序中是如何操作和交互的,以及调查它的输出。从那里,你可以根据你的需要修改它。

但是,Xdebug可以做得更多。

您可以使用一组指示器和可视化方法来分析代码的性能。

当您运行PHP单元测试时,您可以看到您运行和执行的代码套件。

Xdebug包含“trace”函数,会把每个函数的调用写到磁盘上。这将包括参数、变量赋值和返回值。

Xdebug还改进了标准的PHP错误报告。我们将在后面详细介绍这一点。

考虑到这些特性,有许多方法可以在您的工作流程中使用Xdebug(以及任何类似的调试器)。我们将在下一节介绍这些。

为什么要使用Xdebug?

许多开发人员没有专门的调试工作流程,使用第三方工具和扩展。这是因为PHP包含了自己的基本错误记录。您可以使用error_log、var_dump和print等命令来查看变量和函数调用的结果。

例如,你可以在WordPress的开发中重用很多片段——有很多这样的片段在堆栈上溢出。

function log_me($message) {if ( WP_DEBUG === true ) {if ( is_array($message) || is_object($message) ) {error_log( print_r($message, true) );} else {error_log( $message );}}}

然而,这种方法也有一些重要的缺点。

首先,您必须确保为您正在使用的平台启用了错误日志记录。在这种情况下,您必须启用WP_DEBUG(稍后将详细介绍)。

这个“转储”调试的例子比单步调试提供的调查范围要小。在这里,您只能输出您定义的内容。

后一点需要大量的人工操作,尤其是当你的日常工作不是系统管理员的时候。例如,如果要调试代码块,可以根据定义的变量添加代码段。然而,它可能不是问题的根源,甚至不能解释正在发生的事情。

相反,Xdebug这样的工具可以发挥其魔力,提供更广泛的范围。

您可以在执行过程中的不同点“中断”您的代码,以实时查看发生了什么。

有无数的指示器、可视化、分支等等来帮助你确定你的代码在做什么以及它如何反应。

有时,您甚至可以在调试过程中立即更改该值。这提供了巨大的价值,甚至对于运行良好的代码套件也是如此。基本上可以随时进行手动单元测试。

因为您使用断点来标记要调试的区域,所以不需要在代码中使用代码段。这可以使您的代码更整洁,并减少将来出现问题的数量。

一般来说,使用Xdebug这样的工具是主动的决定,而不是被动的决定。您可以将分步调试作为核心开发过程的一部分,就像将单元测试作为测试驱动开发(TDD)的一部分来实现一样。

如何打开PHP错误日志

虽然您可以调试代码而不出现特定错误,但是在不打开Xdebug的情况下知道问题是否出现通常是很好的。这给了你一个探索的起点。这不是绝对必要的,但它可以是你的链中有用的一部分。

为了报告发生的每个错误,您需要在相关PHP文件的顶部添加一行。

error_reporting(E_ALL);

这是一个包罗万象的命令。您可以使用ini_set函数来达到同样的目的。

ini_set(‘error_reporting’, E_ALL);

这允许您逐个项目地更改php.ini文件中的设置。尽管您可以进入该文件并进行手动更改,但使用ini_set来更改特定参数通常是一个更好的主意:

ini_set(‘display_errors’, ‘1’);

一旦您将活动错误报告设置为您喜欢的,您就可以开始使用Xdebug了。

如何使用Xdebug

在接下来的几节中,我们将向您展示如何使用Xdebug,包括您需要设置的步骤。虽然我们无法涵盖每种工具的所有方面,但本快速入门指南将帮助您快速入门。

不过,首先,您需要安装Xdebug。让我们看看如何做到这一点。

1.为您的操作系统安装Xdebug

因为Xdebug可以适应任意数量的设置,所以每个设置的具体过程会略有不同。在操作系统层面,有一些区别。

Windows:这是一个有些复杂的设置过程,包括使用现有的PHP文件和安装向导,然后下载适合你系统的版本。

Linux:这里的方法可以说是最直接的。你可以使用软件包管理器来安装Xdebug或者PHP扩展社区库(PECL)。

Mac:这个方法也很简单。一旦安装了PECL,就可以在终端实例中运行pecl install xdebug。您还需要在您的系统上安装XCode命令行工具和PHP。

然而,大多数用户不想坚持使用系统级Xdebug实例。相反,您会希望将其集成到您自己的开发环境中。

2.将Xdebug集成到您的开发环境中

一旦为您的操作系统安装了Xdebug,就应该将其连接到您的环境。

这里支持的系统和工具很多,不能一一介绍。稍后,我们将为您提供PhpStorm的说明。即便如此,还有许多其他流行的环境可供选择。以下是我们的一些重点推荐。

变化不定的流浪者(VVV)

VVV是Make WordPress网站上的命名环境之一。

自学咖网努力为各位打造免费分享知识与教程网站

变化的流浪者流浪者旗帜

好消息是VVV已经包含了一个Xdebug版本,但是你需要激活它。您可以在终端窗口中使用安全外壳(SSH)来完成这项任务。

vagrant ssh -c “switch_php_debugmod xdebug”

但是,这对性能有一点影响。如果您提供了您的网站,您需要重新打开此选项。

拉勒维尔男仆

对于一些用户来说,Laravel的代客代表了一个近乎完美的网络开发环境。更好的是,您可以将Xdebug与它集成。

为此,您需要为调试器创建一个配置文件。您可以在命令行中使用php – ini来查找您自己的路径,这将返回一些不同的文件路径:

自学咖网努力为各位打造免费分享知识与教程网站

显示终端配置文件的路径列表。

接下来,在other路径下创建一个新的xdebug.ini文件。ini文件。在我们的示例中,它位于/opt/home brew/etc/PHP/7.4/conf . d。

打开这个新文件后,还要打开加载的配置文件(主php.ini文件)的路径。两个都打开后,在底部添加以下内容。

PHP . ini:Zend _ extension = ” xdebug . so “

xdebug.ini: xdebug.mode=debug

一旦保存了更改,从终端运行valet restart,然后将phpinfo()添加到网站的一个文件中;退出;。您希望通过在浏览器中快速加载页面来检查这是否可行。

自学咖网努力为各位打造免费分享知识与教程网站

PHP信息接口

注意你可能需要用sudo brew services重启PHP,同时使用php – info | grep Xdebug检查你的系统是否正确安装了Xdebug。您会注意到输出中的Xdebug专用行:

自学咖网努力为各位打造免费分享知识与教程网站

从这里开始,您可以将Xdebug集成到您选择的编码编辑器中。

XAMPP

像贴身男仆一样,XAMPP的过程也有几个部分。但是Windows和macOS版本有两个不同的流程。

首先安装XAMPP,然后快速检查你的系统中是否存在php_xdebug.dll文件(Windows)或者xdebug.so文件(macOS)。

自学咖网努力为各位打造免费分享知识与教程网站

显示XAMPP文件测试的终端窗口

如果文件存在,您可以继续配置。否则,首先你需要为Windows下载二进制文件——为你最喜欢的PHP版本下载64位文件——或者如果你使用的是Mac,你需要安装更多的依赖项。

对于Windows,重命名DLL文件php_xdebug.dll,然后将其移动到xamppphpext文件路径。接下来,在您喜欢的代码编辑器中打开xamppphpphp.ini文件,并添加以下内容:

output_buffering = Off

在[XDebug]部分,添加以下三行。

zend_extension=xdebugxdebug.mode=debugxdebug.start_with_request=trigger

保存更改后,重启Apache并测试Xdebug。

对于Mac,您应该确保在终端实例中使用xcode-select – install来安装xcode命令行工具。之后,有三个软件包,你想用家酿安装。

brew install autoconf automake libtool

在某些情况下,你需要重新安装XAMPP来获得核心程序和“开发者文件”。您应该能够重新安装这些文件,但是您必须首先备份您现有的设置。

接下来,导航到系统上的Xdebug下载源文件夹,解压缩TGZ文件。在终端窗口中,导航到目录并运行以下程序:

phpizepecl install xdebug

注意,这里可能还需要使用sudo。从这里,你可以编辑XAMPP的php.ini文件。对于大多数macOS安装,您可以在/applications/xampp/xampp files/etc/PHP . ini中找到它。在此目录中,您还可以找到xdebug.so文件的路径-记下它并使用它来代替此片段中的文件路径占位符。

[xdebug]zend_extension=/path/to/xdebug.soxdebug.mode=develop,degugxdebug.start_with_request=yes

为了测试这是否有效,在htdocs XAMPP主目录中创建一个新的xdebug_info.php文件。在内部,添加以下内容:

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 开发人员测试和调试工具Xdebug的安装和集成教程