DOS-Box bei shell_exec() unterdruecken
Norbert
- php
Hallo,
in einem Script wird zweimal der Befehl
$ret = shell_exec('ipconfig -flushdns');
ausgefuehrt, klappt auch, bis eben auf die bloede DOS-Box.
Habe schon versucht 'ipconfig.exe' mit dem hier schon mal genannten Tool
'exetype.pl' zu behandeln, nuetzt aber leider nix.
Hat man da noch eine Chance oder muss ich auf VisualBasic zurueckgreifen?
Gruss und Dank
Norbert
Hello,
in einem Script wird zweimal der Befehl
$ret = shell_exec('ipconfig -flushdns');
ausgefuehrt, klappt auch, bis eben auf die bloede DOS-Box.Habe schon versucht 'ipconfig.exe' mit dem hier schon mal genannten Tool
'exetype.pl' zu behandeln, nuetzt aber leider nix.
Hat man da noch eine Chance oder muss ich auf VisualBasic zurueckgreifen?
Das heißt also, dass Dein Webserver auf einer WinDOSe läuft?
Hast Du Dir auch die UCN von exec() angesehen? Da gibt es Tipps, wei man die Ausgabe behandeln muss.
Kann sein, dass die bei shell_exec() auch funktionieren :-)
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hallo Tom,
Das heißt also, dass Dein Webserver auf einer WinDOSe läuft?
wieso Webserver ...
Es handelt sich um ein Script, welches alle zwei Minten vom Taskplaner
aktiviert wird um die Verbindung zum Internet zu loggen.
Hast Du Dir auch die UCN von exec() angesehen?
Da gibt es Tipps, wei man die Ausgabe behandeln muss.
hmm,
was meinst Du genau, mir ist nichts aufgefallen ...
Gruss und Dank
Norbert
Hello,
Das heißt also, dass Dein Webserver auf einer WinDOSe läuft?
wieso Webserver ...
Es handelt sich um ein Script, welches alle zwei Minten vom Taskplaner
aktiviert wird um die Verbindung zum Internet zu loggen.
Also hast Du das CLI von PHP benutzt?
Hast Du Dir auch die UCN von exec() angesehen?
Da gibt es Tipps, wei man die Ausgabe behandeln muss.
hmm,
was meinst Du genau, mir ist nichts aufgefallen ...
Da ist ein Beitrag, der darstellt, wie man die Ausgabe in den Mülleimer schickt.
Allerdings weiß ich nicht, ob es bei Dir auf einer WinDOSe auch funktioniert
entweder einhach ">NUL 2>&1" könnte klappen...
oder $pid = exec("/usr/local/bin/php run.php > /dev/null & echo $!");
bezieht sich allerdings auf Linux und handelt davon, wie man die Prozess-ID abfragen kann, die normalen Ausgaben in den Mülleimer schiebt und den Prozess in den Hintergrund verfrachtet. Was davon für Windows noch brauchbares übrig bleibt, vermag ich nicht zu sagen.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hallo Tom,
Da ist ein Beitrag, der darstellt, wie man die Ausgabe in den Mülleimer schickt.
Allerdings weiß ich nicht, ob es bei Dir auf einer WinDOSe auch funktioniert
im Prinzip JA, aber:
eigentlich wollte ich die Ausgabe des Befehles auswerten!
Deshalb hatte ich schon versucht, die Ausgabe in eine Datei zu lenken.
Dies funktionierte auch, aber die DOS-Box hat das nicht beeindruckt ... :-((
PS:
Wenn man in VisualBasic Shellbefehle ausfuehrt, kann man mit Optionen steuern,
ob dieser Prozess sichtbar, unsichbar, mit Fokus oder ohne Fokus ausgefuehrt wird.
Gruss und Dank
Norbert
Hello,
Wenn man in VisualBasic Shellbefehle ausfuehrt, kann man mit Optionen steuern,
ob dieser Prozess sichtbar, unsichbar, mit Fokus oder ohne Fokus ausgefuehrt wird.
Das wurde hier neulich schon einmal beschrieben, wei das gehen könnte.
Soweit ich mich erinnere, wurde das CGI so gepatched, dass es keine Ausgaben mehr vornimmt.
Du müsstest einfach mal die Archivsuche 2007 bemühen und nach den Begriffen CLI, CGI, PHP suchen. Es ist noch nicht lange her.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Hallo Tom,
Das wurde hier neulich schon einmal beschrieben, wei das gehen könnte.
weiss ich,
die PHP.exe wurde so gepatcht und das CLI-Script macht deshalb auch keine DOS-Box auf.
Aber im CLI-Script selbst kommt noch "$ret = shell_exec('ipconfig -flushdns');" zum Einsatz,
und diese Befehlszeile macht ein eigene DOS-Box auf.
Der Versuch 'ipconfig.exe' selbst auch zu patchen hat leider nix gebracht, siehe OP.
Gruss und Dank
Norbert
Hello,
da hilft dann nur die Billigmethode:
Mach Dir einen Link auf dem Desktop auf
Dem weist Du dann als Programm die Zeile zu.
Im Link stellst Du ein, dass er minimiert ausgeführt werden soll.
Dann hast Du wenigstens kein Fenster, sondern nur ein kurzes Aufblitzen des Button in der Taskleiste.
Bei mir funktioniert das jedenfalls so.
Ist dann zwar eine "Shell" mehr drum herumgepackt, aber das dürfte nur Millisekunden ausmachen.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom