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

Rom*_*nov 5 yii phpstorm

PHPStrom是一个很棒的IDE.我很喜欢.但我碰到了一个问题.我找不到如何为Yii控制台应用程序配置调试的说明.我为Yii Web应用程序设置了调试,它工作正常.任何帮助将受到高度赞赏.

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

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

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

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

Rom*_*nov 8

一段时间后,我找到了解决方案.在我的情况下,它必须分为两部分:

在PHPStorm中配置XDebug

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

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

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

  1. 在项目中找到yiic.php文件,然后第一次运行或调试它. 在此输入图像描述

  2. 在此之后执行Run-> Edit Config并在带有所需参数的参数中设置命令的名称. 在此输入图像描述

  3. 现在在代码中设置断点并激活"Listen debugger connections"按钮. 在此输入图像描述

调试Yii命令操作

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

    public function run($ args){parent :: run($ args); 返回0; }

  2. 对于调试,需要在yiic.php运行配置的参数中指定操作名称(参见上图)