You could also write a wrapper script to get around this problem
#!/usr/bin/env sh foo.launcher
and then execute that script from within php. That would avoid registry changes and company policy violations.
У меня установлена 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, если оно есть.
You could also write a wrapper script to get around this problem
#!/usr/bin/env sh foo.launcher
and then execute that script from within php. That would avoid registry changes and company policy violations.