現在、OS XでSublime Text 2のプラグインをいくつか開発しています。それらをクロスプラットフォームにしたいのですが、php.exe
がどこにインストールされているかを確認する必要があります。
現在、Pythonで/usr/bin/php
を呼び出しています。これは明らかにOS XとLinuxでのみ機能します。
phppath = '/usr/bin/php'<br>
pluginpath = sublime.packages_path() + '/HtmlTidy/tidy.php'<br>
retval = os.system( '%s "%s"' % ( phppath, scriptpath ) )
しかし、Windowsでは、php.exeのデフォルトのデフォルトパスがないようです。私がそれをググると、より多くの可能性が現れました。これまでのところ、私は次の各パスの存在を確認する必要があると思います:
c:\php\php.exe
c:\php5\php.exe
c:\windows\php.exe
c:\program files\php\php.exe
c:\wamp\bin\php\php5\php.exe
c:\xampp\php\php.exe
それはすでにかなりのコレクションですが、私が求めているのは、すべての可能性をカバーするcompleteリストのいずれかです-orチェックと同じくらい堅牢であることを理解する別の方法各可能なパス。
Php.exeがこれら以外の場所にインストールされている場合は、パスをコメントに残してください。上のリストに追加します。
また、php.exe
とphp-cli.exe
があるようです。可能なパスをループして最初にphp-cli.exeを確認し、次にphp.exeを確認して最初の一致を取得するのは問題ないと思います。それは正しいですか、それとももっと良い方法がありますか?
ユーザーがシステムに追加されたPHPのbinフォルダーを定義している場合は、PATH
を試してphp -v
を実行して、それが存在することを確認できます。
Php実行可能ファイルへのフルパスを取得する場合、ターゲットシステムがWindows 2003以降(つまりVistaおよび7)であれば、WHERE
コマンドを使用できます。
C:\>where php.exe
C:\Program Files (x86)\WAMP\bin\php\php5.3.5\php.exe
関連する可能性のある質問も参照してください: Windowsコマンドラインに「which」に相当するものはありますか? 。
ユーザーのコンピューターでanyファイルを見つけるのに本当に必死である場合、find
と同等のファイルを実行してみることができますが、それはbeslooow!
C: && cd \ && dir /s /b php.exe
PHP 5.4以降では、PHP_BINARY定数を使用できます。
C:\xampp\php\php.exe
XamppがD:またはE:の場合に機能するはずですC:から適宜変更してください