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

在PHPStorm中调试Yii控制台应用程序,yii,phpstorm,xdebug,Yii,Phpstorm,Xdebug,PHPStrom是一个很棒的IDE。我真的很喜欢。但我遇到了一个问题。我找不到如何为Yii控制台应用程序配置调试的说明。 我为Yii web应用程序设置了调试,它运行良好。 我们将非常感谢您的帮助 Upd1:事实上,我发现Yii控制台应用程序有3种情况 标准Yii控制台应用程序(webapp的受保护/命令文件夹中的命令文件) 独立的Yii控制台应用程序(没有web应用程序的独立控制台应用程序) [我的案例]YiiBooster控制台应用程序(YiiBooster有先进的,但对于中型或大型项目结构

PHPStrom是一个很棒的IDE。我真的很喜欢。但我遇到了一个问题。我找不到如何为Yii控制台应用程序配置调试的说明。 我为Yii web应用程序设置了调试,它运行良好。 我们将非常感谢您的帮助

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

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

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


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

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

在PHPStorm中配置XDebug
  • 获取适当的Xdebug版本;只要将phpinfo()响应复制到窗口中,它就会告诉您必须下载哪个版本
  • 安装它并确保XDebug已激活(phpinfo()必须在响应中返回XDebug部分)。

  • 在项目设置中将XDebug设置为PHP的调试器

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

  • 在项目中找到yiic.php文件,并第一次运行或调试它。

  • 在此之后,运行->编辑配置,并使用所需参数在参数中设置命令的名称。

  • 现在在代码中设置断点并激活“侦听调试器连接”按钮。

  • 调试Yii命令操作
  • 如果希望在命令中使用操作(如ActionRebuildIndex),则需要在run()函数中调用parent::run方法

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

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

  • 您只需设置php.ini并在中添加如下参数:

    xdebug.remote_autostart = 1
    
    然后可以调试控制台应用程序