Sie können auch ein Wrapper-Skript schreiben, um dieses Problem zu umgehen
#!/usr/bin/env sh foo.launcher
und dann das Skript aus PHP heraus ausführen. Dies würde Registrierungsänderungen und Verstöße gegen die Unternehmensrichtlinien vermeiden.
Ich habe Windows mit Shell-Integration von Git (sowie von Cygwin) installiert, und der folgende PHP-Code kann kein externes Shell-Skript ausführen, das die .launcher
Erweiterung hat:
<?php passthru("foo.sh"); passthru("foo.launcher"); ?>
Meine beiden foo.sh
und foo.launcher
sieht so aus:
#!/usr/bin/env sh echo Works!
Wenn ich mein PHP-Skript starte, wird das .sh
ausgeführt, was jedoch .launcher
nicht funktioniert, da es mir den Fehler anzeigt:
Windows kann diese Datei nicht öffnen: Datei: foo.launcher
Um diese Datei öffnen zu können, muss Windows wissen, welches Programm Sie zum Öffnen verwenden möchten.
Als Workaround könnte ich wahrscheinlich die Dateizuordnung ändern, jedoch denke ich, dass dies durch die Unternehmensrichtlinien blockiert ist (jedoch habe ich immer noch Zugriff auf die Registrierung). Also bevorzuge ich eine Lösung, die ich aus PHP-Perspektive verwenden kann, wenn es welche gibt.
Sie können auch ein Wrapper-Skript schreiben, um dieses Problem zu umgehen
#!/usr/bin/env sh foo.launcher
und dann das Skript aus PHP heraus ausführen. Dies würde Registrierungsänderungen und Verstöße gegen die Unternehmensrichtlinien vermeiden.