Externe GUI-Programme mit PHP ausführen: System- und Ausführungseinschränkungen beheben
Hintergrund
Wann Beim Ausführen von PHP-Anwendungen in einer kontrollierten Umgebung besteht häufig die Notwendigkeit, externe Prozesse wie Backups und Berichte zu initiieren. Allerdings reicht die Verwendung von system() oder exec() zum Starten von GUI-Programmen oft nicht aus, sodass Benutzer stille Prozesse oder Fehlversuche haben.
Lösung
Trotz der Einschränkungen Es ist tatsächlich möglich, GUI-Programme von PHP unter Windows XP mit Apache als Server zu erzeugen. Dazu muss dem Apache-Dienst die Berechtigung erteilt werden, mit dem Desktop zu interagieren:
PHP Code
Mit den erforderlichen Berechtigungen können PHP-Skripte jetzt GUI-Prozesse starten:
Nicht blockierend (Programm läuft im Hintergrund):
<code class="php">pclose(popen("start /B notepad.exe", "r"));</code>
Blockierung (Programm muss geschlossen werden, bevor fortgefahren werden kann):
<code class="php">system('start notepad.exe');</code>
Hinweis
Auf manchen Systemen kann es notwendig sein um den Apache-Dienst als lokales Systemkonto auszuführen, damit die Option zur Interaktion mit dem Desktop verfügbar ist. Dies hat jedoch Auswirkungen auf den Zugriff auf Netzwerkfreigaben mit bestimmten Benutzerberechtigungen.
Das obige ist der detaillierte Inhalt vonWie starte ich GUI-Programme von PHP unter Windows XP mit Apache-Berechtigungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!