13

我使用 Xdebug 和我的本地 apache 网络服务器在 PHPStorm 中调试工作。我也在使用 CodeSniffer 来检查我的代码风格。CodeSniffer (phpcs.bat) 是一个可以在 PHPstorm 中启用的工具,它实际上是一个外部 PHP 脚本,每 3-5 秒运行一次。烦人的事情是,每当我启用调试(侦听连接)时,它都会尝试调试 phpcs 脚本,即使它不是我项目的一部分。更奇怪的是 phpcs 是通过 php 命令行运行的,而不是 Xdebug 所属的 apache 服务器。

有没有办法阻止 phpStorm 调试这个外部的命令行脚本?

4

4 回答 4

8

您可以忽略 PhpStorm 中的文件:

首选项 > PHP > 调试 > 步骤过滤器

在跳过的文件部分使用 + 号添加它,然后导航到包含该文件的文件夹。

phpStorm 首选项

于 2018-03-22T11:32:27.247 回答
7

一种可能的解决方案是将以下参数添加到运行 phpcs 的 bat 文件中:

-d xdebug.remote_host="8.8.1.1" \
-d xdebug.remote_enable=0 \
-d xdebug.remote_autostart=0

这会在命令行界面上设置自定义 PHP ini 设置。


或者,转到Settings | PHP | DebugPHPStorm 并将目录添加到调试忽略列表。

于 2013-08-08T14:47:22.060 回答
6

有一些设置Languages & Frameworks > PHP > Debug允许您删除第一行中断行为并忽略未注册的连接。 在此处输入图像描述

于 2020-06-03T14:04:33.887 回答
0

当你登陆这里并且你有一个 *nix 系统时,你可以考虑使用以下方法:

  • 使用 debug.remote_autostart=0 在 php.ini 中禁用 remote_autostart
  • 使用其中一种方法在每个会话的基础上启用 xdebug 调试器,如本页所述。
  • 我个人做了一个别名,以便在命令行上轻松启动调试器:

    $ alias enable_debugger='export XDEBUG_CONFIG="idekey=session_name"'
    

    这样,您可以使用以下命令轻松地为一个命令行会话启用调试器:

    $ enable_debugger
    
于 2014-10-09T20:08:49.980 回答