我正在尝试通过shell_exec
php 执行命令。但我遇到了一个错误。
我的代码:
shell_exec('groovy log_analyser1.groovy').
但我收到了这个错误:
sh: groovy: command not found
终于得到了输出。我已将 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');
感谢克弗里克的帮助。回显$结果;
将 groovy 安装放在一个理智的地方(/usr/local
或者/opt
你的运营团队允许的任何地方),然后使用绝对路径调用 groovy。
由于您当前已安装在您的root
用户~
中,因此其他用户(例如您的 php/httpd 运行的用户)无权访问它(有充分的理由)。
即使您将使用与您的 php/httpd 相同的用户并在那里使用 GVM,您也将很难使其正常工作,因为 GVM 依赖于一些脚本来运行。~/.gvm/groovy/<version>
因此,只需从所有用户都可以轻松访问的 GVM 文件 ( ) 中复制。