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

Я пытаюсь выполнить команду через 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>) где все пользователи могут легко получить к нему доступ.

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

Другие вопросы по тегам