exec soll Programm nur starten
basti_p
- php
Hallo,
ich habe ein PHP-Script, welches in regelmäßigen Abständen prüft, ob eine Datei auf meinem Webserver existiert. Wenn ja, starte ich via exec einen Downloadmanager, um diese Datei herunterzuladen.
Problem: solange der Downloadmanager ausgeführt wird, hängt das PHP-Script (wie in der Dokumentation beschrieben).
Gibt es eine Möglichkeit, dass PHP den Downloadmanager nur startet und das Script dann weiter ausführt?
System: XAMPP unter Windows 7
Vielen Dank und Grüße Basti
Hallo,
Gibt es eine Möglichkeit, dass PHP den Downloadmanager nur startet und das Script dann weiter ausführt?
Vielleicht hilft Dir dieser Link weiter.
Leider ist das Verhalten unter Linux/UNIX und Windows angeht, etwas unterschiedlich, falls Du das PHP Skript auf beiden Plattformen einsetzen willst, benötigst Du ggf. eine Lösung für jedes Betriebssystem.
Viele Grüße,
Jörg
Hallo,
Vielleicht hilft Dir dieser Link weiter.
Vielen Dank, das klingt vielversprechend; leider passiert, wenn ich den Befehl so aufrufe: exec("PsExec.exe -i -d meine.exe") gar nichts - nicht mal eine Fehlermeldung:-(
Wenn ich mir den Befehl mit echo ausgebe und in die Kommandozeile kopiere, funktioniert es.
Grüße Basti
Hi basti_p!
Gibt es eine Möglichkeit, dass PHP den Downloadmanager nur startet und das Script dann weiter ausführt?
"Beachten Sie auch, dass wenn Sie ein Programm mit dieser Funktion starten und Sie es im Hintergrund laufen lassen möchten, Sie sicherstellen müssen, dass die Ausgabe des Programms in eine Datei oder anderenen Ausgabestream umgeleitet wird. Andernfalls wird PHP solange laufen, bis das Programm beendet ist."
Quelle: http://php.net/exec
MfG H☼psel
Hallo Hopsel,
das hatte ich gelesen - deshalb habe ich gschrieben "wie in der Dokumention..."
Grüße Basti
Moin!
Gibt es eine Möglichkeit, dass PHP den Downloadmanager nur startet und das Script dann weiter ausführt?
Hat der Downloadmanager eine grafische Oberfläche (GUI)?
Dann kannst Du den Apache nicht als Dienst starten sondern musst diesen als Programm in einer Shell laufen lassen. Andernfalls kann das von Dir gestartete Programm kein Programmfenster aufbauen und verabschiedet sich.
System: XAMPP unter Windows 7
AU! Das tut wirklich weh.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
Hallo,
Hat der Downloadmanager eine grafische Oberfläche (GUI)?
Ja
Dann kannst Du den Apache nicht als Dienst starten sondern musst diesen als Programm in einer Shell laufen lassen. Andernfalls kann das von Dir gestartete Programm kein Programmfenster aufbauen und verabschiedet sich.
Besten Dank, jetzt funktioniert es! Warum ist das so?
System: XAMPP unter Windows 7
AU! Das tut wirklich weh.
Wieso?
Grüße Basti
System: XAMPP unter Windows 7
AU! Das tut wirklich weh.
Wieso?
Vielleicht hat er sich grade einen Nerv geklemmt.
Es sei dir gesagt: XAMPP unter Windows 7 ist völlig OK sofern du das Ding nicht als dedizierten Webserver betreibst sondern zu deinem Privatvergnügen und lokal :)
Hallo,
Es sei dir gesagt: XAMPP unter Windows 7 ist völlig OK sofern du das Ding nicht als dedizierten Webserver betreibst sondern zu deinem Privatvergnügen und lokal :)
Da bin ich aber froh - von diesem Einsatzzweck bin ich bei XAMPP ohnehin ausgegangen.
Grüße Basti
Moin!
Besten Dank, jetzt funktioniert es! Warum ist das so?
Weil es in den Sicherheitseinstellungen so konfiguriert ist. Man kann auch das ändern, man muss dazu dem Dienst den Datenaustausch mit dem Desktop erlauben. Das ist aber ziemlich gefährlich.
System: XAMPP unter Windows 7
AU! Das tut wirklich weh.
Wieso?
Das hat Suit Dir erklärt. In einem 1-Mann-"Netzwerk" ist es ok...
Grüße Basti
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix