In einer kontrollierten Intranetumgebung kann die Ausführung externer Programme aus einer PHP-Anwendung eine Herausforderung sein. Während Befehle wie system und exec Prozesse starten können, haben sie Schwierigkeiten, Programme mit einer sichtbaren Benutzeroberfläche zu handhaben.
Das Problem:
Der Benutzer ist in der Lage, Programme zu starten, die arbeiten lautlos (z. B. „echo hello > hello.txt“). Versuche, Programme mit einer grafischen Benutzeroberfläche (z. B. „Explorer“) zu starten, führen jedoch zu keiner Aktion.
Die Lösung:
Um dieses Problem zu beheben, ist es Dies ist erforderlich, damit der Apache-Dienst, der das PHP-Skript ausführt, mit dem Desktop interagieren kann:
Codeausschnitte:
Nachdem Sie diese Änderungen vorgenommen haben, können Sie jetzt GUI-Programme aus PHP mit pclose und system:
Nicht blockierend:
<code class="php">pclose(popen("start /B notepad.exe", "r"));</code>
Blockierend:
<code class="php">system('start notepad.exe');</code>
Hinweis:
Dies Die Lösung wurde unter Windows XP getestet und funktioniert möglicherweise nicht auf anderen Windows-Versionen.Das obige ist der detaillierte Inhalt vonWie führt man externe Programme mit PHP mit Benutzeroberfläche in einer kontrollierten Intranet-Umgebung aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!