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

时间:2013-05-16 13:42:13

标签: yii phpstorm

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

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

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

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

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

3 个答案:

答案 0 :(得分:8)

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

在PHPStorm中配置XDebug

  1. 获取适当的Xdebug版本。 Use this wizard from official xdebug site; 只需将您的phpinfo()响应复制并传递到窗口中,它就会告诉您必须下载哪个版本
  2. 安装它并确保激活XDebug( phpinfo()必须在响应中返回xdebug部分)。 Use the following link for detailed instructions enter image description here

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

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

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

    2. 在此之后运行 - >编辑配置并在带有所需参数的参数中设置命令的名称。 enter image description here

    3. 现在在代码中设置断点并激活“Listen debugger connections”按钮。 enter image description here

    4. 调试Yii命令操作

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

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

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

答案 1 :(得分:1)

答案 2 :(得分:-1)

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

xdebug.remote_autostart = 1

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