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?
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
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: