在PHPStorm中调试Yii控制台应用程序

7

PHPStrom是一个很好的IDE。我非常喜欢它。但我遇到了一个问题,我找不到如何配置Yii控制台应用程序的调试指南。我设置了Yii Web应用程序的调试,它也能正常工作。

更新1:实际上,我发现Yii控制台应用程序有三种情况:

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

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

[我的情况] YiiBooster控制台应用程序(YiiBooster具有高级但良好结构的中型或大型项目)

3个回答

13

经过一段时间的研究,我找到了解决方案。在我的情况下,它必须分为两个部分:

在PHPStorm中配置XDebug

  1. 获取适当的Xdebug版本。使用官方xdebug网站上的向导;只需将phpinfo()响应复制并粘贴到窗口中,它就会告诉您需要下载哪个版本。
  2. 安装它并确保已激活XDebug(phpinfo() 必须在响应中返回xdebug部分)。使用以下链接获取详细说明 enter image description here

  3. 在项目设置中将XDebug设置为PHP调试器 enter image description here

[以下步骤特定于Yii控制台应用程序调试]

  1. 在您的项目中找到 yiic.php 文件并首先运行或调试它。 enter image description here

  2. 然后转到Run->Edit Config,并使用必需的参数在参数中设置您的命令名称。 enter image description here

  3. 现在在代码中设置断点并激活“监听调试器连接”按钮。 enter image description here

调试Yii命令操作

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

    public function run($args) {

    在这段代码中,parent::run($args) 表示调用父类的 run 方法,并将 $args 作为参数传入。return 0; 则是返回值为 0。

    为了进行调试,需要在 yiic.php 运行配置中明确指定操作名称(请参见上面的图像)



0

你只需要设置你的php.ini文件并在中添加一个参数,就像这样:

xdebug.remote_autostart = 1

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接