Wie führe ich ein Java-Programm aus und bekomme es in PHP ausgegeben?

9

Ich möchte etwas wie (in myProgram.sh) ausführen:

%Vor%

in PHP und lesen Sie die Ausgabe.

Bisher habe ich etwas wie:

%Vor%

Aber was ich wirklich gerne hätte, ist, die Ausgabe des Java-Programms innerhalb des PHP-Skripts abzurufen und nicht einfach als einen anderen Thread auszuführen.

Wie kann das gemacht werden?

    
Stephane Grenier 24.09.2010, 17:55
quelle

2 Antworten

0
  

Der Schlüssel ist, dass die Klassenpfade in der Shell_exec absolut sein müssen   PHP-Skript.

Oder zumindest ist das die einzige Möglichkeit, damit ich richtig arbeiten kann. Im Grunde ist es fast unmöglich, von Umgebung zu Umgebung zu unterscheiden, welches relative Verzeichnis das php-Skript ist, auf dem die JVM läuft.

Es hat auch geholfen, den absoluten Pfad für java festzulegen, wie zB usr /.../ bin / java

    
Stephane Grenier 27.09.2010, 21:31
quelle
7

Sie können dies tun:

%Vor%

Aus der Dokumentation:

  

Wenn das Argument output vorhanden ist, wird das angegebene Array mit jeder Ausgabezeile des Befehls gefüllt. Nachgestellte Leerzeichen wie \ n sind in diesem Array nicht enthalten. Beachten Sie, dass, wenn das Array bereits einige Elemente enthält, exec () an das Ende des Arrays angefügt wird. Wenn die Funktion keine Elemente anhängen soll, rufen Sie unset () im Array auf, bevor Sie sie übergeben es zu exec () .

Für eine bessere Kontrolle über Ihre Ausführung können Sie sich proc_open()

Ressourcen:

Colin Hebert 24.09.2010 18:07
quelle

Tags und Links