PHP Konsole abfragen? Programm 1x per exec starten und X mal abfrage/lesen

n0nam3

Cadet 3rd Year
Registriert
Okt. 2006
Beiträge
52
Hallo Zusammen,

ich möchte ein Konsolen-Programm öffnen und dessen Inhalt im Browser ausgeben lassen. Dies funktioniert auch soweit, doch leider wird bei jedem aufrufen der PHP-Seite das ganze Programm gestartet. Eigentlich möchte ich nur die Werte in dem Programm auslesen. Wie lässt sich das realisieren?

Kurz und knapp:

1. Konsolenanwendung starten (über exec) >> gibt Werte aus

2. Über PHP diese Werte immer wieder lesen.


Code zum starten des Programms:


PHP:
<?php
echo '<pre>';
system('test.bat', $retval);
echo '';
?>

oder

PHP:
<?php
$command = "test.bat";
echo exec($command);
?>
:rolleyes:
 
Du musst halt den Output deines Programms umleiten in ein Textfile (" > output.txt" anhängen an Batchscriptbefehl) und diese Textfile dann lesen.
Alternative wäre das Programm "screen" aber das gibts glaube ich nur unter Linux...
 
Das kann z.B. mit dem Safe-Mode zusammen hängen. Was ergibt denn $retval bei system()?
 
stefan- schrieb:
das kann z.b. Mit dem safe-mode zusammen hängen. Was ergibt denn $retval bei system()?

0

Stefan- schrieb:
Das kann z.B. mit dem Safe-Mode zusammen hängen. Was ergibt denn $retval bei system()?

BerniG schrieb:
Du musst halt den Output deines Programms umleiten in ein Textfile (" > output.txt" anhängen an Batchscriptbefehl) und diese Textfile dann lesen.
Alternative wäre das Programm "screen" aber das gibts glaube ich nur unter Linux...

ist aber leider ganz schön unsauber..das muss doch noch anders gehen
 
versuchs mal mit backtips:

PHP:
$ausgabe = `test.bat 2>&1`;

oder so

PHP:
$ausgabe = `test.bat >&1`;

weiß grad nicht wies genau ghört xD

bzw. was hast du denn so spezielles in deinem batch file, dass ein php script nicht tun könnte?
 
Was in dem Batch-Script drin ist, ist vollkommen egal. Es geht nur darum, OB ein Batch-Script überhaupt ausgeführt werden darf.

Ich habe ja schon auf den Safe Mode hingewiesen, siehe oben. Ist der aktiviert? Was ist als safe mode exec dir gesetzt? Benutzt du E_ALL?
 
Stefan- schrieb:
Was in dem Batch-Script drin ist, ist vollkommen egal. Es geht nur darum, OB ein Batch-Script überhaupt ausgeführt werden darf.

Ich habe ja schon auf den Safe Mode hingewiesen, siehe oben. Ist der aktiviert? Was ist als safe mode exec dir gesetzt? Benutzt du E_ALL?

Also das ausführen geht.... selbst Paint und co kann man starten... sollte auch ohne Änderungen am Server laufen.. Installliert habe ich einen Appache HTTPP Server auf einem WINDOWS Server
 
Stefan- schrieb:
Was in dem Batch-Script drin ist, ist vollkommen egal.

damit wollte ich nur fragen wieso er ein batch skript verwendet, und das, was dort getan wird nicht gleich in php durchführt, weil dateiaktionen usw. kann man mit php genauso erledigen, dafür braucht man nicht extra ein batch skript...

und mein post mit den backtips wurde wahrscheinlich wieder ignoriert, naja ich weiß jedenfalls dass es so gehn kann...
 
Vielleicht gibt dein Script gar nichts an die Konsole aus, sondern in einen anderen Socket? Das kommt natürlich auf die verwendeten Befehle / Anwendungen an.
 
Zurück
Oben