0

次のテスト スクリプトがあります。

<?php
    echo 'Hello'            // mistake - missing semicolon
    echo 'Hi';          
    echo $hi;               // mistake - undefined variable         
?>

このスクリプトを NppExec でチェックしようとしました - 次のコマンドを使用しました:

$(NPP_DIRECTORY)\notepad++.exe -n $(FULL_CURRENT_PATH)

そして、私は予期しない出力を得ました:

Process started >>>
<<< Process finished. (Exit code 0)
================ READY ================

私はいくつかのエラーメッセージを期待していました。NppExec を間違って使用しているということですか? ありがとうございました

4

1 に答える 1

1

問題

このコマンド:

$(NPP_DIRECTORY)\notepad++.exe -n $(FULL_CURRENT_PATH)

あなたが何をしているのかわかりませんが、これ何をしているのかです:

これにより、メモ帳 ++ が開きます。PHP などではなく、Notepad++ のみです。ただし、Notepad++ インスタンスは既に実行されているため、そのまま終了します。
引数が有効になる前にそれが起こるかどうかはわかりませんが、そうでない場合は$(FULL_CURRENT_PATH)ファイルとして開かれ、オプションのためにメモ帳++はその行0にジャンプし-nます。これは「行Xにスクロールする」ことを意味します. たとえば、与えていないので、行番号はゼロです-n15-n

ソリューション

あなたの目標は、PHP ファイルの構文を検証することだと思います。
そのためには、システムに PHP をインストールし、その中に PHP bin フォルダーを用意する必要があります%PATH%(または、以下の php.exe へのフル パスを使用します)。
次に、探している NppExec コマンドは次のようになります。

php.exe -l $(FULL_CURRENT_PATH)

-l(小文字L) オプションを PHP 実行可能ファイルに渡すと、入力ファイルの構文が検証されます。

于 2015-04-20T11:35:45.730 に答える