jpcaparas/xdebug-demo

一个概述使用Xdebug在典型的PHP开发工作流程中优势的示例。

dev-master 2017-06-08 21:50 UTC

This package is not auto-updated.

Last update: 2024-09-29 03:52:37 UTC


README

xdebug-logo

一个概述使用Xdebug在典型的PHP开发工作流程中优势的示例。

要求

  1. PHP v5.6++ 且已安装Xdebug。
  2. 支持Xdebug的IDE。本示例使用PhpStorm
  3. 安装了Xdebug helper扩展的Google Chrome。
  4. Shell访问权限。

安装

要开始此项目,请运行

composer create-project \
--prefer-source \
--stability=dev \
jpcaparas/xdebug-demo \
[dir-name]

一旦克隆,运行测试以确保一切正常

./vendor/bin/codecept run

可能您的机器上已经安装了Xdebug;要检查,请运行

php -v

... 应该得到类似于以下输出的结果

PHP 7.1.5 (cli) (built: May 13 2017 13:30:32) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
    with Xdebug v2.5.1, Copyright (c) 2002-2017, by Derick Rethans

如果您没有看到with Xdebug...行,您必须下载、启用并配置Xdebug扩展。

Atlassian有一个很好的、多平台安装指南

使用方法

连接一切

配置Xdebug后,在代码库中标记断点

Mark breakpoints

标记后,确保您的IDE已设置成为调试客户端。

Listen for incoming connections

...并允许浏览器连接到客户端。

Chrome browser extension

现在从终端启动内置的Web服务器,我们开始调试

php -S localhost:8000 -t public

连接到调试客户端

https://:8000打开您的浏览器。您应该看到一个要求输入GitHub用户名的表单。

假设您已将断点添加到./src/Services/GitHubService.php文件中,您应该在发送POST请求时进入代码。

如果连接成功,您将被带到PhpStorm的调试器面板,您将看到很多活动

此时,您需要做的就是熟悉您可用的各种命令(例如,框架、变量、控制台、单步执行)。

有关调试器各种功能的更多信息,请参阅此处

注意事项

安装Xdebug后,composer的运行速度变慢。在composer使用时禁用Xdebug是否可能?

是的,将以下巧妙脚本追加到您的~/.bash_aliases文件(或其等效文件)

alias composer="php -n -d memory_limit=-1 $(which composer)"

-n标志实际上阻止PHP读取php.ini文件(其中定义了Xdebug)。

资源

即将推出...

归属

此示例是Pixel Fusion 工程讨论的一部分,每周五举行,展示提高开发者生产力的工具和方法。