私は崇高なテキスト 2 を使用しており、プラグイン sublimelinter を使用したいと考えていました。php -l を使用してバックグラウンドでコードをチェックします。VirtualBox VMで実行されているWebサーバーで開発しています。WebサーバーはVM(ゲスト)にあり、崇高なテキストはホストで実行されています。
この 2 つを連携させる方法はありますか? VM の外に php をインストールすることは本当に避けたかったのです。
私は崇高なテキスト 2 を使用しており、プラグイン sublimelinter を使用したいと考えていました。php -l を使用してバックグラウンドでコードをチェックします。VirtualBox VMで実行されているWebサーバーで開発しています。WebサーバーはVM(ゲスト)にあり、崇高なテキストはホストで実行されています。
この 2 つを連携させる方法はありますか? VM の外に php をインストールすることは本当に避けたかったのです。
私のマシンでかなりうまく機能するものがありますが、壊れやすいようです。
ここでの考え方は、SSH トンネル経由で VM 上の PHP 呼び出しにすべてのパラメーターを渡すコマンドライン スクリプトをホスト上に作成することです。SublimeLinter は、通常は PHP バイナリを呼び出すのと同じようにこのスクリプトを呼び出すことができます。Sublime の観点からは、ホストに PHP をインストールしなくても、すべてが「機能する」だけです。
Windows と OS X の両方のホストを使用しているため、2 つのバージョンのトンネル スクリプトがあります。Windows では Windows PuTTY SSH ツールを取得する必要がありますが、Unix フレーバーのホストでは SSH が既に存在している可能性が高いことに注意してください。
C:/Users/Youruser/bin/putty
。C:/Users/Youruser/bin/php_vm_tunnel.bat
次の内容でバッチ スクリプトを作成します。
@echo off C:/Users/Youruser/bin/putty/plink -l youruser -pw yourpassword 192.168.56.101 php %*
-l
また、フラグの値と-pw
フラグの値を、VM に SSH で接続するときに使用するユーザー名とパスワードに置き換えます。最後に、例の IP アドレスを、VM への SSH に使用する IP アドレスに置き換えてください。
~\bin\php_vm_tunnel
#!/usr/bin/env bash FIXED_ARGS=''; for (( i = 1; i <= $# ; i++ )); do eval ARG=\$$i FIXED_ARGS="$FIXED_ARGS $(echo "$ARG" | awk '{gsub(".", "\\&");print}')" done ssh -l root 192.168.56.101 php $FIXED_ARGS
-l
-フラグの値は、VM に SSH で接続するときに使用するユーザー名に置き換えてください。また、例の IP アドレスを、VM への SSH に使用する IP アドレスに置き換えてください。
この時点で、渡されたものを VM にトンネリングするスクリプトが作成されました。したがって、端末で行う場合は、次のように言います。
cd wherever_you_put_the_script php_vm_tunnel -v
仮想マシンから PHP バージョン情報が返されるはずです。
このトンネルをセットアップしたので、Sublime Text 2 を構成してそれを利用できます。
Package Control
Sublime Text 2 プラグインをインストールするSublimeLinter
ます (この時点ですでにインストールされているようです)。Preferences
-> Package Settings
-> SublimeLinter
->に移動Settings - User
これを構成ファイルに追加し (再びスクリプトへの適切なパスに置き換え、バックスラッシュ文字を適切にエスケープするために二重スラッシュに注意してください)、保存します。
{ "sublimelinter_executable_map": { "php": "C:\\\Users\\\Youruser\\\bin\\\php_vm_tunnel.bat" "php": "/Users/youruser/bin/php_vm_tunnel" } }
注- 「php」ステートメントは 1 つしか持てません。上の 1 番目が Windows 版、2 番目が Unix 版です。不要なものは削除してください。
Sublime Text コンソールを開くと (すべてが計画どおりに進んだ場合)、起動テキストに次のようなものが表示されます。
SublimeLinter: php enabled (using "C:\Users\Youruser\bin\php_vm_tunnel.bat" for executable)
また、SublimeLinter は、あたかもネイティブ PHP バイナリを呼び出しているかのように、PHP ファイルを適切に lint する必要があります。
幸運を。