Рассмотрим этот код:
<?php
$output=shell_exec('ls');
shell_exec('java -jar gimtadieniai2.jar');
echo $output;
?>
Строка с ‘ls’ просто проверяет, работает ли она.
Цель состоит в том, чтобы выполнить Java с «gimtadieniai2.jar». Когда выполняется вручную с терминала, это работает. Обратите внимание, что файл JAR выбирает информацию из одного файла и помещает ее в другой файл.
Моя проблема в том, что PHP-код не работает. Есть идеи почему?
Я не уверен, если нет ошибки.
Если бы все было хорошо, то Main
класс в исполняемом файле jar
должен не возвращать вывод и делать безопасный выход. Если это не так, но возвращает какой-то вывод, используйте echo shell_exec(....
и посмотрим, есть ли разница.
Другая возможная причина, я думаю, classpath
доступны для java
,
jar
файл может находиться в той же папке, что и php
файл.
Но java
не может загрузить jar
с того же пути php
,
Вы лучше введите абсолютный путь к файлу из jar
файл. Это может решить проблему.
Как насчет пути? Файл jar находится в той же папке скрипта php? Если так, попробуйте shell_exec('java -jar ./gimtadieniai2.jar');