問題與錯誤修復Cygwin的Emacs的flycheck模誤差發現/ tmp和在Win7 phpcs運行XAMPP PHP
已經使用Emacs好幾年。最近決定嘗試Prelude版本(link to prelude)。安裝順利(在Cygwin的Win7上),但一直未能使用PHP錯誤檢查幾天。我想要讓php錯誤檢查與Flycheck一起工作。它現在對我來說是無法運作的。
目前,當我打破了PHP腳本,flycheck.el(@ ln2551)回報2個錯誤:
Checker php returned non-zero exit code 1, but no errors from output:
Could not open input file: /tmp/flycheck4728Btc/myPhpFile.php
Checker definition probably flawed.
Checker php-phpcs returned non-zero exit code 1, but no errors from output:
Could not open input file: /cygdrive/c/xampp/php/phpcs
Checker definition probably flawed.
調試信息
1)。 Flycheck在Cygwin根/tmp
目錄中寫入緩衝區副本。請參閱flycheck.el(@ ln800)): 此文件存在並且是已確認的可讀緩衝區副本;它的文件權限沒有問題(無論chmod 777還是700都是同樣的錯誤)。 2)。 Phpcs位於c:/ xampp/php/phpcs中,可以在命令行(cmd.exe和cygwin bash)中使用或不使用c:/ path;但不適用於cygdrive路徑。 [這不起作用$/cydrive/c/xampp/php/phpcs -h(帶或不帶.bat擴展名)。]我也確認了很好的安裝phpcs(並且它可以從命令行運行),並且這裏沒有文件權限問題。我已將flychech-phpcs-standard
變量設置爲c:/xampp/php/phpcs
,按照flycheck.el @ ln2895-2903但未找到引發錯誤的條件。
[注意:當我嘗試重命名phpcs文件並指定phpcs.bat時,此錯誤確實消失,但我不確定檢查程序是否被找到,因爲寫入tmp文件錯誤仍然阻止了任何結果。 。此外,打破了phpcs命令的命令行我用法]
只是可以肯定,這是我的PHP -v:
$ php -v
PHP 5.4.7 (cli) (built: Sep 12 2012 23:48:31)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans
這裏是我的phpcs版本:
$ phpcs --version
PHP_CodeSniffer version 1.3.3 (stable) by Squiz Pty Ltd. (http://www.squiz.net)
在我的.bash_profile中有這個別名: alias phpcs="c:/xampp/php/phpcs"
而且c:\xampp\php
我PATH
研究
我已經經歷了phpcs,cygwin的,和flycheck.el,包括自定義flycheck-phpcs標線,並有指示在這個問題上沒有取得任何進展。
我不確定這是否與[email protected](defun flycheck-temp-file-system (filename prefix)
的意見有關。這些評論是關於使用Emacs對一個壓縮錯誤進行黑客攻擊的。無論如何,
如何解決這個問題?
任何意見或想法,進一步測試?任何人都有Cygwin flycheck在win7上工作?它是一個操作系統編譯問題嗎?腳本中的目錄路徑?
目前,谷歌搜索這個錯誤問題,只會提出這個問題! –
我在(Flycheck的github頁面)[https://github.com/lunaryorn/flycheck/issues/147] –
的票上打開過這個問題我意識到我已經升級了phpcs,因此仍然存在問題:$ phpcs --version Squiz Pty Ltd.(http://www.squiz.com.au)的PHP_CodeSniffer版本1.4.5(穩定版)。注意,flycheck現在需要1.4.3 ... –