如何在 PHP 中执行 Groovy 脚本
How to execute Groovy script in PHP
我正在尝试通过 shell_exec
在 php 中执行命令。但是我收到一个错误。
我的代码:
shell_exec('groovy log_analyser1.groovy').
但是我收到了这个错误:
sh: groovy: command not found
将 groovy 安装在合理的位置(/usr/local
或 /opt
或您的操作团队允许的任何位置),然后使用绝对路径调用 groovy。
由于您当前已在 root
用户 ~
中安装,其他用户(例如您的 php/httpd 运行 的用户)无权访问对它(有充分的理由)。
即使您使用与 php/httpd 相同的用户并在那里使用 GVM,您也很难正常工作,因为 GVM 依赖于一些脚本 运行。因此,只需从所有用户都可以轻松访问的 GVM 文件 (~/.gvm/groovy/<version>
) 进行复制。
终于得到输出了。我已将 groovy 目录从 /root 移动到 /usr/share/。然后在我的 php 文件中给出了 groovy 路径。现在它工作正常。设置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 的帮助。
回声 $结果;
我正在尝试通过 shell_exec
在 php 中执行命令。但是我收到一个错误。
我的代码:
shell_exec('groovy log_analyser1.groovy').
但是我收到了这个错误:
sh: groovy: command not found
将 groovy 安装在合理的位置(/usr/local
或 /opt
或您的操作团队允许的任何位置),然后使用绝对路径调用 groovy。
由于您当前已在 root
用户 ~
中安装,其他用户(例如您的 php/httpd 运行 的用户)无权访问对它(有充分的理由)。
即使您使用与 php/httpd 相同的用户并在那里使用 GVM,您也很难正常工作,因为 GVM 依赖于一些脚本 运行。因此,只需从所有用户都可以轻松访问的 GVM 文件 (~/.gvm/groovy/<version>
) 进行复制。
终于得到输出了。我已将 groovy 目录从 /root 移动到 /usr/share/。然后在我的 php 文件中给出了 groovy 路径。现在它工作正常。设置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 的帮助。 回声 $结果;