Sto cercando di eseguire un'applicazione .jar da PHP utilizzando exec:PHP: 'java' non è riconosciuto come comando interno o esterno
exec('java -jar parser.jar $inputstring 2>&1', $output);
posso farlo funzionare su cmd, e Java -versione ritorna così ho installato java. Sembra che questo sia un problema di percorso, ma sono alla fine.
Ho provato a specificare il percorso completo, aggiungendo C: \ Programmi (x86) \ Java \ jdk1.8.0_91 \ bin; a System Variables, usando shell_exec, senza alcun risultato. Ho fatto lo stesso errore.
Qualsiasi aiuto sarebbe molto apprezzato.
Mostrare come si è aggiunto il percorso completo. ci sono degli spazi lì dentro. se non hai citato il percorso, ad es. 'shell_exec ('" C: \ Programmi \ .... ")', quindi tenterai di eseguire un programma chiamato 'c: \ program.exe', con argomento' files \ .... ' –
Ho: shell_exec ('"C: \ Programmi (x86) \ Java \ jdk1.8.0_91 \ bin \ java.exe" -jar parser.jar $ inputstring 2> &1'); Se non ho 2> & 1 è vuoto Con esso ottengo lo stesso errore 'java' non riconosciuto – Anda
2> & 1 reindirizza stderr a stdout, motivo per cui si ottiene il messaggio di errore. shell_exec restituisce solo stdout, quindi non si vedrà mai il messaggio di errore –