У меня установлена Windows с интеграцией оболочки из Git (а также Cygwin), и следующий код PHP не запускает скрипт внешней оболочки с расширением .launcher
:
<?php
passthru("foo.sh");
passthru("foo.launcher");
?>
Мои foo.sh
и foo.launcher
выглядят так:
#!/usr/bin/env sh
echo Works!
Когда я запускаю свой PHP-скрипт, запускается .sh
, однако .launcher
не работает, так как показывает ошибку:
Windows не может открыть этот файл: File: foo.launcher
Чтобы открыть этот файл, Windows необходимо знать, какую программу вы хотите использовать для его открытия.
В качестве обходного пути я мог бы, вероятно, изменить ассоциацию файлов, однако я думаю, что это заблокировано политикой компании (однако у меня все еще есть доступ к реестру). Поэтому я предпочитаю какое-то решение, которое я могу использовать с точки зрения PHP, если оно есть.