我正在尝试使用功能shell_exec()从PHP页面运行Java程序,问题是总是返回空响应。运行以下命令时:ls,whoami,该命令有效。我认为这与为www-data用户授予访问权限有关,但是我仍然找不到解决方法。
我尝试使用命令 sudo visudo 修改文件 / etc / sudoers ,以便将应该授予访问权限的下一行添加到文件末尾执行Java命令:
www-data ALL = NOPASSWD:/ usr / lib / jvm / java-8-openjdk-amd64 / jre / bin / java
并尝试了这一点:
www-data ALL = NOPASSWD:/ usr / bin / java
我正在使用下一个代码从php页面调用Java命令:
$ result = shell_exec('java -version');
echo $ result;
我希望已调用命令的输出,但是实际输出为空。
提前谢谢。
答案 0 :(得分:0)
尝试此代码:
exec('java -version '.' 2>&1', $result);
var_dump($result);
答案 1 :(得分:0)
答案 2 :(得分:0)
这可能有用。
echo shell_exec("echo " . $command_to_exec . " > myfile.java && javac myfile.java && java myfile.java");
仅执行一行Java代码。