6

PHPStrom 是一个很棒的 IDE。我很喜欢。但是我遇到了一个问题。我找不到如何为 Yii 控制台应用程序配置调试的说明。我为 Yii Web 应用程序设置了调试,它工作正常。任何帮助将不胜感激。

Upd1 : 实际上我发现 Yii 控制台应用程序有 3 种情况。

标准 Yii 控制台应用程序(webapp 的 protected/commands 文件夹中的命令文件)

独立 Yii 控制台应用程序(没有 Web 应用程序的独立控制台应用程序)

[我的案例] YiiBooster 控制台应用程序(YiiBooster 具有先进但结构良好的大中型项目)

4

3 回答 3

10

一段时间后,我找到了解决方案。就我而言,它必须分为两部分:

在 PHPStorm 中配置 XDebug

  1. 获取合适的 Xdebug 版本。使用来自官方 xdebug 站点的此向导只需将您的 phpinfo() 响应复制并粘贴到窗口中,它就会告诉您必须下载哪个版本
  2. 安装它并确保 XDebug 已激活(phpinfo()必须在响应中返回 xdebug 部分)。使用以下链接获取详细说明 在此处输入图像描述

  3. 在项目设置中将 XDebug 设置为 PHP 的调试器 在此处输入图像描述

【以下步骤针对 Yii 控制台应用调试】

  1. 在您的项目中找到yiic.php文件并第一次运行或调试它。 在此处输入图像描述

  2. 在此之后运行->编辑配置并在带有所需参数的参数中设置命令的名称。 在此处输入图像描述

  3. 现在在您的代码中设置断点并激活“侦听调试器连接”按钮。 在此处输入图像描述

调试 Yii 命令动作

  1. 如果您想在命令中使用动作(如 actionRebuildIndexes),则需要在 run() 函数中调用 parent::run 方法。

    公共功能运行($args){父::运行($args);返回0;}

  2. 为了调试它需要在 yiic.php 运行配置的参数中指定动作名称(见上图)
于 2013-05-19T08:53:19.643 回答
1

jetbrains 博客中有关于它的文章。

于 2013-05-18T09:39:33.787 回答
0

您只需设置 php.ini 并在中添加一个参数,如下所示:

xdebug.remote_autostart = 1

然后你可以调试你的控制台应用程序。

于 2016-09-02T08:53:25.767 回答