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

abb*_*ood 22 php xdebug intellij-idea symfony phpstorm

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

php app/console server:run --env=dev
Run Code Online (Sandbox Code Playgroud)

如果我设置断点来浏览网站本身或测试来自基于浏览器的休息客户端(如邮递员)的 api调用,这样就可以了

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

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

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

/usr/local/Cellar/php54/5.4.28/bin/php -S localhost:8000 -t /project/root/directory
Run Code Online (Sandbox Code Playgroud)

我想要的是这样的:

php app/console server:run --env=dev -S localhost:8000 -t /project/root/directory
Run Code Online (Sandbox Code Playgroud)

知道怎么做吗?

abb*_*ood 37

您根本不应创建运行配置,只需单击listen按钮:

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

  2. 使用"电话手柄"图标,在IDE开始监听调试连接(例如,在描述这里)

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

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

奖金

如果你有兴趣在vi + xdebug上做同样的事情,请看这个答案.

  • 我相信你忘记了一步:添加xdebug.remote_enable = 1 (4认同)
  • 多谢!现在很清楚了。如果我能在尝试按照 IntelliJ 文档运行调试器时节省 4 小时之前找到这篇文章...:( (2认同)