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

aij0ehis  于 2022-11-09  发布在  PHP
关注(0)|答案(3)|浏览(203)

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

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

标准的Yii控制台应用程序(命令文件在webapp的protected/commands文件夹中)
独立的Yii控制台应用程序(独立的控制台应用程序,不带web应用程序)

**[我的案例]**YiBooster控制台应用(YiiBooster有先进的,但良好的结构,适合大中型项目)

gkl3eglg

gkl3eglg1#

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

在PHPStorm中配置XDebug

1.获取适当的Xdebug版本. Use this wizard from official xdebug site;* 只要复制并粘贴你的phpinfo()响应到窗口中,它会告诉你你必须下载哪个版本 *。
1.安装它并确保XDebug已激活(phpinfo() 必须在响应中返回xdebug部分)。Use the following link for detailed instructions x1c 0d1x
1.在项目设置

中将XDebug设置为PHP的调试器

[以下步骤是针对Yii控制台应用程序调试的]

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

1.在此之后,转到运行-〉编辑配置,并设置您的命令名称的参数与所需的参数。

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

调试Yii命令操作

1.如果您希望在命令中使用动作(如actionRebuildIndexes),则需要在run()函数中调用parent::run方法。
公共函数run($args){ parent::run($args);返回0; }
1.为了调试,需要在yiic.php Run Configuration的参数中指定动作名称(见上图)

vm0i2vca

vm0i2vca3#

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

xdebug.remote_autostart = 1

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

相关问题