Я пытаюсь выполнить команду через shell_exec
в php. Но я получаю ошибку.
Мой код:
shell_exec('groovy log_analyser1.groovy').
Но я получаю эту ошибку:
sh: groovy: command not found
Поставить заводную установку где-нибудь вменяемой (/usr/local
или же /opt
или что-либо, что позволяет ваша ops-команда), а затем вызовите groovy с абсолютным путем
Так как вы в настоящее время установлены в вашем root
пользователи ~
другие пользователи (например, пользователь, под которым работает ваш php / httpd) не имеют к нему доступа (по уважительным причинам).
Даже если вы используете того же пользователя, что и ваш php / httpd, и используете там GVM, вам будет трудно правильно выполнить эту работу, поскольку GVM использует некоторые сценарии для запуска. Так что просто скопируйте из ваших файлов GVM (~/.gvm/groovy/<version>
) где все пользователи могут легко получить к нему доступ.
Наконец-то получил выход. Я переместил каталог groovy из / root в / usr / share /. Затем дал отличный путь в моем файле php. Теперь работает нормально. Чтобы установить переменную среды Java.
Я установил это putenv("JAVA_HOME=/usr/share/java/jdk1.7.0_03/");
$result = shell_exec('/usr/share/groovy/2.4.3/bin/groovy log_analyser1.groovy');
Спасибо Cfrick за помощь.
echo $ result;