【问题标题】:PhpStorm Is throwing an error for phpcsPhpStorm 为 phpcs 抛出错误
【发布时间】:2015-11-19 00:56:02
【问题描述】:

PHP 代码嗅探器

phpcs: Can not correctly run the tool with parameters:
C:\Users\sa\AppData\Local\Temp\___0.tmp\press_home.module --encoding=utf-8
Possible tool process hangup after 5 sec.
Exclude press_home.module from PHP Code Sniffer analysis.

PhpStorm 经常抛出此消息。知道为什么 PhpStorm 会显示此错误吗?

【问题讨论】:

  • 极有可能是因为用于执行 phpcs 的 PHP 可执行文件启用了 xdebug。 2种可能的解决方案:1)以某种方式确保它没有启用xdebug(即有几个php安装,默认一个没有xdebug)2)增加PhpStorm设置中的超时
  • @LazyOne 感谢您的有用评论。我将使用解决方案 1 。禁用 xdebug 。现在错误没有出现。

标签: php ide phpstorm jetbrains-ide


【解决方案1】:

知道为什么 PhpStorm 会显示此错误吗?

很可能是因为用于执行 phpcs 的 PHP 可执行文件启用了 xdebug -- 执行需要更长的时间。

两种可能的解决方案:

  1. 确保用于执行phpcs 的 PHP 可执行文件没有启用 xdebug。例如。您可以完全禁用 xdebug .. 或者在您的计算机上安装多个 PHP,而默认的一个(如果您在终端中键入 php 将使用)没有 xdebug。

  2. 尝试在 PhpStorm 的设置中增加超时 (Settings/Preferences | Languages & Frameworks | PHP | Code Sniffer)。在某些系统/设置上,即使将超时时间增加到 20 多秒(很多)也可能无法解决问题。

从性能的角度来看,#1 中描述的解决方案更受欢迎,并且更可靠(但更难实现,尤其是如果您实际上需要本地 xdebug 时)。

【讨论】:

  • 我在 Windows 10 上遇到了同样的问题。XDebug 被禁用并且超时设置为最大值(30 秒) - 但这个解决方案不起作用。
  • @ZaquPL 但它适用于问题作者..和其他支持的人。如果它对您不起作用(2 岁 答案),那么这并不意味着它对其他人也不起作用——您可能只是有不同的情况......或者一些新问题实际的 PhpStorm。在撰写答案时,建议的解决方案能够解决问题。
【解决方案2】:

只有当你有充分的理由(复杂的数据、远程连接等)时才应该应用增加超时,但大多数情况都可以快速分析。

您的问题的潜在解决方案: 您没有提供代码标准作为参数,因此请确保 PHPStorm 使用正确的编码标准调用 phpcs,因此省略 --standard 参数可能会导致问题。

在 PHPStorm 的 Settings->Editor->Inspections 下,展开 PHP 并转到 PHP Code Sniffer 验证。在那里你应该找到一个标有“编码标准”的下拉选择。

如果您没有充分的理由,我不建议您使用默认的 MySource 作为值,而是选择 PSR2,例如。

以下命令将由 PHPStorm 发出,在这种情况下:

phpcs.bat index.php --standard=PSR2 --encoding=utf-8 --report=xml

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-08
    • 2018-11-16
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 2020-03-15
    相关资源
    最近更新 更多