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

2022-08-30 18:23:48

我能够在PHPStorm中设置一个php Web应用程序调试器,只需将其绑定到特定端口的本地主机即可,一切正常。但是,要做到这一点,我需要首先在shell上运行以下命令:

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

如果我设置断点来浏览网站本身或从基于浏览器的rest客户端(如postman)测试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

相反,我想要的是这样的东西:

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

任何想法如何做到这一点?


答案 1

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

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

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

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

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

奖金

如果您有兴趣在vi + xdebug上做同样的事情,请参阅答案。


答案 2

对于任何在遵循所有细节的同时来到这篇文章的人,但它仍然不起作用。
PHPStorm 调试器(PHP 内置服务器)不知何故与本地主机主机 URL 有问题只需将其更改为并观看魔术:)127.0.0.1

Host-url


推荐