2015-08-25 60 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