PhpStorm 为 phpcs 抛出错误

PhpStorm Is throwing an error for phpcs

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 会显示此错误吗?

Any idea why PhpStorm showing this error?

极有可能,因为用于执行 phpcs 的 PHP 可执行文件启用了 xdebug -- 执行时间更长。

两种可能的解决方案:

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

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

#1 中描述的解决方案从性能的角度来看是首选并且更可靠(但更难实现,特别是如果您确实需要本地 xdebug)。

只有在有充分理由(复杂数据、远程连接等)时才应增加超时时间,但大多数场景分析得很快。

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

在 PHPStorm 的设置->编辑器->检查下,展开 PHP 并转到 PHP 代码嗅探器验证。在那里你应该找到一个标记为 "Coding standard" 的下拉菜单 select。

如果你没有充分的理由,我不建议使用默认的 MySource 作为值,例如 select PSR2。

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

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