Problem: ich will auf einem (Windows)Server eine Applikation ausführen. Dies soll per PHP geschehen.
Lösung: Mit der Funktion exec('program.exe');
kann man beliebige Programme auf dem Server ausführen, ob Windows oder Linux spielt keine Rolle. So konnte ich per PHP eine C#-Applikation starten.
Zu beachten ist: falls bei der PHP-Konfiguration safe_mode
eingeschaltet ist (=on) können keine beliebigen Programme ausgeführt werden. Es muss dazu die Variable safe_mode_exec_dir
in der PHP-Konfiguration (php.ini) gesetzt werden. Dort wird der absolute Pfad zu einem Verzeichnis definiert, aus dem Programme per exec()
gestartet werden dürfen. In meinem Fall heisst die Zeile in der php.ini:
safe_mode_exec_dir = c:/Programme/xampplite/htdocs/exec/
Im Code sieht es so aus:
$id = exec("program.exe");
Das Arbeitsverzeichnis ist das, in dem sich das PHP-Script befindet, nicht in dem des exec-Programms. Das Programm (program.exe) befindet sich im definierten exec-Verzeichnis.
Execute programs in PHP
1 Antwort