在PHPStorm中调试时如何忽略某些文件?

时间:2013-08-08 13:36:20

标签: php xdebug phpstorm

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

无论如何都要阻止phpStorm调试这个外部命令行脚本吗?

4 个答案:

答案 0 :(得分:6)

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

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

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


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

答案 1 :(得分:2)

Languages & Frameworks > PHP > Debug中的某些设置可让您删除第一线中断行为并忽略未注册的连接。 enter image description here

答案 2 :(得分:1)

您可以忽略PhpStorm中的文件:

偏好设置> PHP>调试>步骤过滤器

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

phpStorm pref

答案 3 :(得分:0)

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

  • 使用debug.remote_autostart = 0
  • 在php.ini中禁用remote_autostart
  • 使用其中一种方法在每个会话的会话基础上启用xdebug调试器documented on this page
  • 我个人创建了一个别名,可以在命令行上轻松启动调试器:

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

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

    $ enable_debugger