2

sublime-phpcs を設定しようとしています。私は pear をインストールし、コマンドラインからPHP_CodeSnifferをインストールし、文書化されたインストール手順を使用してPHPMDをインストールしました。PHP と pear は d:/Program Files/xampp/php と d:/Program Files/xampp/php/pear のパスにあり、ディレクトリの外で使用できます。ユーザー構成ファイルで PHPCodeSniffer、PHPMD、および showdebug を true に設定しましたが、保存時に何も強調表示またはアウトライン表示されず、コンソールにエラーしか表示されません。次のように言った後、エラーが表示されます。

[Phpcs] phpcs --report=checkstyle --standard=PSR2 -n D:\htdocs\ubc\app\main\source\plugins\project\core\class-cse-meta-boxes.php
[Phpcs] phpcs --report=checkstyle --standard=PSR2 -n D:\htdocs\ubc\app\main\source\plugins\project\core\class-cse-meta-boxes.php
[Phpcs] cwd: C:\Users\mtpultz
Exception in thread Thread-183:
Traceback (most recent call last):
File "X/subprocess.py", line 1090, in _execute_child
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "X/threading.py", line 639, in _bootstrap_inner
File "X/threading.py", line 596, in run
File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 433, in run
File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 139, in get_errors
File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 215, in execute
File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 218, in parse_report
File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 169, in shell_out
File "X/subprocess.py", line 818, in __init__
File "X/subprocess.py", line 1096, in _execute_child
FileNotFoundError: [WinError 2] The system cannot find the file specified

サーバーを再起動し、すべてのインストール後に sublimetext を再度開きました。

UPDATE ユーザー設定へのphpcs実行可能パスの追加に関するSergeyの助けに応えて。

[Phpcs] phpmd D:\htdocs\ubc\app\main\source\plugins\ubc\core\class-cse-meta-boxes.php text codesize,unusedcode,naming
[Phpcs] phpmd D:\htdocs\ubc\app\main\source\plugins\ubc\core\class-cse-meta-boxes.php text codesize,unusedcode,naming
[Phpcs] cwd: C:\Users\mtpultz
Exception in thread Thread-183:
Traceback (most recent call last):
  File "X/subprocess.py", line 1090, in _execute_child
  FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "X/threading.py", line 639, in _bootstrap_inner
  File "X/threading.py", line 596, in run
  File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 435, in run
  File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 139, in get_errors
  File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 311, in execute
  File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 314, in parse_report
  File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 169, in shell_out
  File "X/subprocess.py", line 818, in __init__
  File "X/subprocess.py", line 1096, in _execute_child
FileNotFoundError: [WinError 2] The system cannot find the file specified

更新 2 ユーザー設定への phpmd 実行可能パスの追加に関する Sergey のヘルプに応えて。

[Phpcs] D:\Program Files\xampp\php\pear\phing\tasks\ext\phpmd D:\htdocs\ubc\app\main\source\plugins\ubc-petrography\core\class-cse-meta-boxes.php text codesize,unusedcode,naming
[Phpcs] D:\Program Files\xampp\php\pear\phing\tasks\ext\phpmd D:\htdocs\ubc\app\main\source\plugins\ubc-petrography\core\class-cse-meta-boxes.php text codesize,unusedcode,naming
[Phpcs] cwd: C:\Users\mtpultz
Exception in thread Thread-18:
Traceback (most recent call last):
  File "X/subprocess.py", line 1090, in _execute_child
PermissionError: [WinError 5] Access is denied

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "X/threading.py", line 639, in _bootstrap_inner
  File "X/threading.py", line 596, in run
  File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 435, in run
  File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 139, in get_errors
  File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 311, in execute
  File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 314, in parse_report
  File "phpcs in C:\Users\mtpultz\AppData\Roaming\Sublime Text 3\Installed Packages\Phpcs.sublime-package", line 169, in shell_out
  File "X/subprocess.py", line 818, in __init__
  File "X/subprocess.py", line 1096, in _execute_child
PermissionError: [WinError 5] Access is denied

誰もこの問題を抱えていましたか?

4

1 に答える 1

2

PHPCS 設定を開いてみてください: 設定 → パッケージ設定 → PHP Code Sniffer → 設定 — ユーザー

これを設定ファイルに追加します。

{
    "phpcs_executable_path": "some_path"
}

phpcs の実行可能パスはどこsome_pathにありますか (Windows で PEAR コマンドを使用してインストールした場合、実行可能ファイルはphpcs.batPHP のルート フォルダーにあります)。:)

たとえば、コード スニファーをインストールしましたが、その実行可能ファイルはD:\dev\php\phpcs.bat. だから私の設定は

{
    "phpcs_executable_path": "D:\\dev\\php\\phpcs.bat",
    // Enable debug to see verbose output
    "show_debug": true
}

Sublime-phpcs も、構成を設定するまで機能しませんでしたphpcs_executable_path

更新:あなたの質問の更新からわかるように、今は set も必要ですphpmd_executable_path。また、このリストで PHP へのパスを使用します。

{
    "phpcs_executable_path": "D:\\Program Files\\xampp\\php\\phpcs.bat",
    "phpmd_executable_path": "D:\\Program Files\\xampp\\php\\phpmd.bat",
    // Enable debug to see verbose output
    "show_debug": true
}
于 2014-07-20T02:43:39.893 に答える