Как выполнить команду Java со страницы php с помощью функции shell_exec ()? - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь запустить программу Java со страницы PHP, используя функцию shell_exec (), проблема в том, что всегда возвращает пустой ответ. Когда запускаете команду вроде: ls, whoami, которая, это работает. Я думаю, что это связано с предоставлением доступа для пользователя www-data, но я все еще не могу найти способ сделать это.

Я попытался изменить файл / etc / sudoers с помощью команды sudo visudo , чтобы добавить в конец файла следующую строку, в которой предполагается предоставить доступ для выполнения команды команда Java:

www-data ALL = NOPASSWD: / usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java

и пробовал с этим тоже:

www-data ALL = NOPASSWD: / usr / bin / java

Я использую следующий код для вызова команды java со страницы php:

$ result = shell_exec ('java -version');

echo $ result;

Ожидается вывод вызванной команды, но фактический вывод пуст.

заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Я только что проверил, и он работает

<code><?php 
    $out = shell_exec('java 2>&1');
    echo '<pre>'.$out.'
';?>

Ссылка: Что означает в оболочке "2> & 1"?

0 голосов
/ 14 июня 2019

Попробуйте этот код:

exec('java -version '.' 2>&1', $result);
var_dump($result);

Ссылка: https://medium.com/@jnheo/setting-up-a-web-service-php-to-spit-out-results-from-a-jar-file-213667eb008a

...