Я создал пользовательскую java-программу для вывода лицензии и пытаюсь запустить ее в php.
$deviceid="12345"; $command_app = 'java -jar /home/myname/secure/mycommand.jar '; $privateKey = 'QEFAASCAmEwggJdAgE'; $command_app_args = "\"$privateKey\" deviceid=$deviceid"; $command=$command_app.$command_app_args; $license = shell_exec($command);
Проблема в том, что $ license пуста каждый раз, я пытался распечатать команду $, используя
echo $command;
и затем выполнил эту команду непосредственно в терминале linux, а выход xml был правильным.
я использую
System.out.println()
в приложении java, чтобы распечатать весь вывод xml. Я попробовал что-то простое,
shell_exec('ls -l') ;
и достаточно уверен, если сработает.
Что я могу сделать неправильно?
Мой первый инстинкт состоит в том, что команда java не находится в пути оболочки PHP. Попробуйте что-то вроде этого:
$command_app = '`which java` -jar /home/myname/secure/mycommand.jar ';
Команда which java
вернет полный путь к исполняемому файлу java …