exec() Problem

Chrisjim

Grünschnabel
Hallo zusammen,

ich möchte gerne die exec Funktion unter Xampp Version 1.6.6a (Apache 2.2.8, PHP 5.2.5 + PHP 4.4.8) benutzten.

Hier ist mein Testcode:

PHP:
exec('C:\\WINDOWS\\system32\\notepad.exe');

Mein Problem ist, dass es das Programm nur als Prozess startet, jedoch nicht das Programm ansich anzeigt. Nach stundenlangem googlen wurde ich meistens darauf verwiesen, 'allow deskop interaction' zu aktivieren, was ich auch meines Verständnis nach getan habe.
(Screenshot von den Einstellungen: http://img380.imageshack.us/img380/1628/xampphd4.jpg)

Habe ich Apache nicht richtig eingestellt, liegt es dran dass notepad.exe unter dem Benutzer 'System' gestartet wird, oder mache ich sonst irgendwas falsch?
 
Ich habe das Gefühl, dass mein Problem durch die 'Benutzernamen' entsteht, da exec() den Prozess unter System öffnet und nicht unter meinem Benutzer.

Dieses Problem wurde auch schon in einem anderen Topic behandelt: Hier
maeTimmae hat hier geschrieben:
"Umgehen lässt sich das für den Fall, dass exec() auf den Besitzer des aufgerufenen Files zurückgreift, leicht, indem der Besitzer entsprechend angepasst wird.
Sollte das nicht funktionieren, gibt es immer noch zwei weitere Möglichkeiten. Der einfachere Weg führt über ein Benutzerverzeichnis (user directory) unter dem Apache-Server, bei dem automatisch der Besitzer des entsprechenden Benutzerverzeichnisses verwendet wird. Jedoch sehen dabei die URLs recht unschön aus (domain/~benutzername/)."


Kann mir das vielleicht jemand genauer erklären?

Danke!
 
ja da dein apache als dienst läuft laufen alle vom server gestarteten sachen ohne Fenster. Du siehst also keine ausgabe.
So jedenfalls hab ich das derletzt in einem beitrag dazu gelesen.
Es wird praktisch ausgeführt aber halt im hintergrund. Versuch mal ob es geht wenn du es nicht als dienst laufen lässt
 
ja da dein apache als dienst läuft laufen alle vom server gestarteten sachen ohne Fenster. Du siehst also keine ausgabe.
So jedenfalls hab ich das derletzt in einem beitrag dazu gelesen.
Es wird praktisch ausgeführt aber halt im hintergrund. Versuch mal ob es geht wenn du es nicht als dienst laufen lässt

Hat geklappt. Danke vielmals

Weisst du vielleicht welche Konsequenzen es hat, wenn man es nicht als Service laufen lässt?
 
solltest dir für sowas lieber nen daemon zulegen wie exec zu vertrauen.
 
Zurück