2015-08-25 58 views
6

PHP代码嗅探器PhpStorm抛出一个错误phpcs

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

+1

极有可能的原因是用于执行PHP可执行'phpcs'已启用Xdebug的。 2可能的解决方案:1)以某种方式确保它没有启用xdebug(即有几个PHP安装,其中默认的一个没有xdebug)2)增加PhpStorm设置的超时 – LazyOne

+0

@LazyOne感谢您的有用评论。我正在解决方案1。禁用了xdebug。现在错误不会到来。 –

回答

5

任何想法为什么PhpStorm显示此错误?

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

两个可能的解决方案:

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

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

的解决方案是从的观点和更可靠的性能来看,优选(但较难实现,特别是如果你确实需要在本地Xdebug的)。

+0

我在Windows 10上遇到同样的问题。XDebug被禁用,超时设置为最大值(30秒) - 但此解决方案不起作用。 – ZaquPL

+0

@ZaquPL但它为问题作者..和其他upvoted的人工作。如果它不适用于你(** 2岁**答案),那么这并不意味着它不适用于其他人 - 你可能只是有不同的情况......或者在实际的PhpStorm中出现一些新问题。在撰写答案时,提议的解决方案能够解决问题。 – LazyOne

0

风暴不接受嗅探器或嗅探器挂起的响应。尝试使用相同的参数从命令行运行它,看看会发生什么,也许你只需要更新,或者一些参数可能会导致崩溃。由于Storm基于JAVA构建,因此应该使用JAVA标记。也许JAVA开发人员会知道如何处理这些命令。在任何情况下,这与php无关。

0

只有当您有充足的理由(复杂的数据,远程连接等)时才会增加超时,但大多数情况下都会进行快速分析。

你的问题的潜在解决方案: 你是不是提供了一个标准的代码作为参数,因此要确保PHPStorm呼吁以适当的编码标准phpcs,因此留下了--standard参数可能会引起问题。

在Settings> Editor-> Inspections下的PHPStorm中,展开PHP并转到PHP代码嗅探器验证。在那里你应该找到一个标签为“编码标准”的下拉选择。

我不会推荐使用默认的MySource作为值,如果您没有足够的理由,请选择PSR2。

以下命令将通过PHPStorm发行,在这种情况下:

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