Windows 8:.phar файлы, как вы хотите открыть

Я пытаюсь запустить композитор на окнах с помощью wamp. Я установил композитор, используя подсказку cmd, и теперь я пытаюсь запустить "композиторское обновление" для SDK. Тем не менее, когда я печатаю "обновление для composer.phar", окна спрашивают, какое приложение я хочу использовать для запуска этой программы. Я хочу, чтобы командная строка справилась с этим! Как я могу запустить его через cmd, без этого окна "что приложение"?

Ответ 1

Вы должны установить php.exe в качестве приложения по умолчанию для файлов phar.

Ответ 2

.phar расшифровывается как PHP Archive

Обычно .phar принимает некоторые аргументы, поэтому они предназначены для запуска из командной строки. Оболочка Linux/BSD/OS X или командная строка Windows.

В сценариях использования Linux .phar предполагается, что .phar копируется в какой-то /bin и переименовывается без расширения .phar, поэтому вы можете использовать архив php, как если бы вы использовали любую другую команду linux. Поэтому я рекомендую следующий способ сделать то же самое с Windows:

  1. Поместите все свои файлы .phar в один каталог, например C:\php\phars
  2. Добавьте C:\php\phars к системным переменным среды (щелкните правой кнопкой мыши на моем Computer -> Properties -> Advanced System Settings -> Environment variables)
  3. Запустите командную строку с повышенными правами (найдите командную строку в меню "Пуск", затем щелкните правой кнопкой мыши и выберите Run as Administrator)
  4. Введите следующие команды, заменив путь 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 в каталоге, где вам нужно работать, например, при создании документации в C:\myproject\controller без указания полного пути к .phar, как если бы он выполнялся без добавления его в Windows путь.

Чтобы объяснить, что делали команды на шаге 4:

  1. Создано отображение HKCR.phar → HKCR\PHARFile
  2. Создано HKCR\PHARFile\shell\open\command = 'php.exe "% 1"% *' [REG_EXPAND_SZ]
  3. Расширенная HKCU\Environment\PATHEXT = '% PATHEXT% ;. PHAR' [REG_EXPAND_SZ]

*.phar обрабатывается как двоичный файл/скрипт, а выполнение *.phar работает, пока файл *.phar находится где-нибудь в %PATH%.