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

时间:2014-05-14 05:54:48

标签: php symfony intellij-idea xdebug phpstorm

我能够在PHPStorm中设置一个php web app调试器,只需将它绑定到我在特定端口的localhost即可,一切正常。但是要实现这一点,我需要先在shell上运行此命令:

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

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

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

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

我的问题是:如何将调试器实际绑定到PHPStorm中的命令行?现在当我在PHPStorm中创建built-in web server时,它默认使用默认的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

知道怎么做吗?

2 个答案:

答案 0 :(得分:34)

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

  1. 配置xdebug以尝试调试每个脚本(xdebug.remote_autostart = 1xdebug.remote_enable = 1)。

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

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

  4. 这是关于主题的一小时webinar

    奖金

    如果您对在vi + xdebug上做同样的事情感兴趣,请参阅this answer。

答案 1 :(得分:0)

对于在关注所有细节但仍然无法正常工作的情况下访问此帖子的任何人。
(PHP 内置服务器) 的 PHPStorm 调试器以某种方式在 localhost 主机 URL 上有问题只需将其更改为 127.0.0.1 并观看魔术:)

Host-url