wamp を使用して Windows で composer を実行しようとしています。cmdプロンプトを使用してcomposerをインストールしましたが、SDKの「composer update」を実行しようとしています。しかし、「composer.phar update」と入力すると、このプログラムを実行するために使用するアプリを Windows が尋ねてきます。コマンドプロンプトで対処したい!この「どのアプリ」ウィンドウが表示されずに、cmdで実行するにはどうすればよいですか?
4 に答える
phar ファイルのデフォルト アプリケーションとして php.exe を設定する必要があります。
.phar
PHPアーカイブの略
通常.phar
、s はいくつかの引数を取るため、コマンド プロンプトから実行することを意図しています。Linux/BSD/OS X シェルまたは Windows コマンド プロンプト。
Linuxの.phar
ユース ケース シナリオでは、.phar
s が /bin にコピーされ、名前が .phar 拡張子なしで変更されることを前提としているため、他の Linux コマンドを使用する場合と同じように php アーカイブを使用できます。したがって、Windowsで同じことを行うには、次の方法をお勧めします。
- 次のように、すべての
.phar
ファイルを1つのディレクトリに配置しますC:\php\phars
- システム環境変数に追加
C:\php\phars
( my を右クリックComputer -> Properties -> Advanced System Settings -> Environment variables
) - 昇格したコマンド プロンプトを起動します ([スタート] メニューでコマンド プロンプトを見つけ、右クリックして を選択します
Run as Administrator
) 。 - 次のコマンドを入力し、
C:\phpdev\php\php542\php.exe
パスを PHP 実行可能ファイルへのフル パスに置き換えます。
ftype PHARFile=C:\phpdev\php\php542\php.exe "%1" %*
assoc .phar=PHARFile
set PATHEXT=%PATHEXT%;.PHAR
次回は、Windowsコンソールを実行するだけで(キーボードWin+Rとタイプcmd.exe
)、あなた.phar
のようなものapigen.phar
を入力し、その後に任意のコマンドを入力すると機能します
C:\Users\acosonic>apigen.phar help
Usage:
...
Arguments:
command The command to execute
command_name The command name (default: "help")
Options:
--xml To output help as XML
--format To output help in other formats (default: "txt")
--raw To output raw command help
--help (-h) Display this help message.
--quiet (-q) Do not output any message.
--version (-V) Display this application version.
Help:
The help command displays help for a given command:
php C:\phpdev\phars\apigen.phar help list
You can also output the help in other formats by using the --format option:
php C:\phpdev\phars\apigen.phar help --format=xml list
To display the list of available commands, please use the list command.
C:\Users\acosonic>
したがって、この方法.phar
では、作業が必要なディレクトリでアーカイブを実行できます。たとえば、Windows パスに追加せずに実行するかのように、C:\myproject\controller
完全なパスを指定せずにドキュメントを生成できます。.phar
ステップ 4 で実行したコマンドを説明するには、次のようにします。
- 作成されたマッピング HKCR.phar → HKCR\PHARFile
- HKCR\PHARFile\shell\open\command = 'php.exe "%1" %*' [REG_EXPAND_SZ] を作成しました
- 拡張 HKCU\Environment\PATHEXT = '%PATHEXT%;.PHAR' [REG_EXPAND_SZ]
*.phar
はバイナリ/スクリプトのように扱われ、ファイルが のどこかにある*.phar
限り実行が機能します。*.phar
%PATH%