Как выполнить Groovy скрипт в переполнении стека

Я пытаюсь выполнить команду через shell_exec в php. Но я получаю ошибку.

Мой код:

shell_exec('groovy log_analyser1.groovy').

Но я получаю эту ошибку:

sh: groovy: command not found

-2

Решение

Поставить заводную установку где-нибудь вменяемой (/usr/local или же /opt или что-либо, что позволяет ваша ops-команда), а затем вызовите groovy с абсолютным путем

Так как вы в настоящее время установлены в вашем root пользователи ~другие пользователи (например, пользователь, под которым работает ваш php / httpd) не имеют к нему доступа (по уважительным причинам).

Даже если вы используете того же пользователя, что и ваш php / httpd, и используете там GVM, вам будет трудно правильно выполнить эту работу, поскольку GVM использует некоторые сценарии для запуска. Так что просто скопируйте из ваших файлов GVM (~/.gvm/groovy/<version>) где все пользователи могут легко получить к нему доступ.

0

Другие решения

Наконец-то получил выход. Я переместил каталог 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;

0

По вопросам рекламы [email protected]