Я пытаюсь запустить композитор на окнах с помощью wamp. Я установил композитор, используя подсказку cmd, и теперь я пытаюсь запустить "композиторское обновление" для SDK. Тем не менее, когда я печатаю "обновление для composer.phar", окна спрашивают, какое приложение я хочу использовать для запуска этой программы. Я хочу, чтобы командная строка справилась с этим! Как я могу запустить его через cmd, без этого окна "что приложение"?
Windows 8:.phar файлы, как вы хотите открыть
Ответ 1
Вы должны установить php.exe в качестве приложения по умолчанию для файлов phar.
Ответ 2
.phar
расшифровывается как PHP Archive
Обычно .phar
принимает некоторые аргументы, поэтому они предназначены для запуска из командной строки. Оболочка Linux/BSD/OS X или командная строка Windows.
В сценариях использования Linux .phar
предполагается, что .phar
копируется в какой-то /bin и переименовывается без расширения .phar, поэтому вы можете использовать архив php, как если бы вы использовали любую другую команду linux. Поэтому я рекомендую следующий способ сделать то же самое с Windows:
- Поместите все свои файлы
.phar
в один каталог, напримерC:\php\phars
- Добавьте
C:\php\phars
к системным переменным среды (щелкните правой кнопкой мыши на моем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
в каталоге, где вам нужно работать, например, при создании документации в C:\myproject\controller
без указания полного пути к .phar
, как если бы он выполнялся без добавления его в Windows путь.
Чтобы объяснить, что делали команды на шаге 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%
.