Ich versuche, eine .jar-Anwendung von PHP exec auszuführen:PHP: ‚Java‘ nicht als interner oder externer Befehl erkannt wird
exec('java -jar parser.jar $inputstring 2>&1', $output);
ich es bekommen kann auf cmd ausführen, und Java -version gibt zurück, also habe ich Java installiert. Es scheint, dass dies ein Weg Problem ist, aber ich bin am Ende meines Wissens.
Ich habe versucht, den vollständigen Pfad anzugeben, C: \ Programme (x86) \ Java \ jdk1.8.0_91 \ bin; zu Systemvariablen, mit shell_exec, kein Erfolg. Ich bekomme den gleichen Fehler.
Jede Hilfe würde sehr geschätzt werden.
Zeigen Sie, wie Sie den vollständigen Pfad hinzugefügt. Da sind Räume drin. Wenn Sie den Pfad nicht angeben, z. 'shell_exec ('" C: \ Programme \ .... ")', dann werden Sie versuchen, ein Programm namens 'c: \ program.exe' mit dem Argument' files \ .... ' –
auszuführen Ich habe: shell_exec ('"C: \ Programme (x86) \ Java \ jdk1.8.0_91 \ bin \ java.exe" -jar parser.jar $ inputstring 2> &1'); Wenn ich nicht 2> & 1 habe, ist es Ich bekomme den gleichen "Java" nicht erkannt Fehler. – Anda
2> & 1 leitet stderr auf stdout um, weshalb Sie die Fehlermeldung erhalten. shell_exec gibt nur stdout zurück, so dass Sie nie die Fehlermeldung sehen würden. –