如何使用 Symfony 命令行工具在内置 Web 服务器的 PHPStorm 中进行调试

问题描述 投票:0回答:3

我能够在 PHPStorm 中设置一个 php Web 应用程序调试器,只需将其绑定到我的本地主机的特定端口,一切工作正常。但是,为了使其工作,我需要首先在 shell 上运行此命令:

php app/console server:run --env=dev

如果我设置断点来浏览网站本身或测试来自基于浏览器的休息客户端(如postman

)的 api 调用,则效果很好

但是我正在尝试为我的移动应用程序实际设置断点(移动应用程序将http调用发送到后端应用程序,这是一个symfony应用程序)。使用 Web 应用程序配置对此不起作用。

使用 this 教程,我能够将上述命令行合并到 PHPStorm 中,所以现在我可以使用 phpstorm 命令行工具实际运行代码。

我的问题是:如何将调试器真正绑定到 PHPStorm 中的命令行?现在,当我在 PHPStorm 中创建内置 Web 服务器时,它默认使用默认的 php 解释器(即,如果我使用内置 Web 服务器运行代码..我在 PHPStorm 的控制台中看到了这一点:

/usr/local/Cellar/php54/5.4.28/bin/php -S localhost:8000 -t /project/root/directory

我想要的是这样的:

php app/console server:run --env=dev -S localhost:8000 -t /project/root/directory

知道该怎么做吗?

php symfony intellij-idea xdebug phpstorm
3个回答
43
投票

您根本不应该创建运行配置,只需单击监听按钮即可:

  1. 配置 xdebug 以尝试调试每个脚本(

    xdebug.remote_autostart = 1
    xdebug.remote_enable = 1
    )。

  2. 在 IDE 中使用“电话手柄”图标开始侦听调试连接(例如,如此处中所述)

  3. 从任何地方启动您的 php 代码——XDebug 将尝试调试每个传入的请求。

这是一个关于该主题的长达一小时的网络研讨会

奖金

如果您有兴趣在 vi + xdebug 上执行相同的操作,请参阅 this 答案。


1
投票

对于任何来到这篇文章并遵循所有细节但仍然不起作用的人。
(PHP 内置服务器) 的 PHPStorm 调试器在某种程度上与 localhost

 主机 URL 存在
问题只需将其更改为
127.0.0.1
,然后观看魔术:)


-1
投票

对于任何来到这篇文章并遵循所有细节但仍然不起作用的人。

查看这篇文章的答案

© www.soinside.com 2019 - 2024. All rights reserved.