繁体   English   中英

如何使用shell_exec()函数从php页面执行java命令?

[英]How to execute java command from php page with shell_exec() function?

我正在尝试使用函数 shell_exec() 从 PHP 页面运行 Java 程序,问题是总是返回空响应。 当运行如下命令时:ls、whoami、which,它起作用了。 我认为这与授予 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');

回声 $result;

我期望调用命令的输出,但实际输出为空。

提前致谢。

试试这个代码:

exec('java -version '.' 2>&1', $result);
var_dump($result);

参考: https : //medium.com/@jnheo/setting-up-a-web-service-php-to-spit-out-results-from-a-jar-file-213667eb008a

我刚刚测试过,它正在工作

<?php 
    $out = shell_exec('java 2>&1');
    echo '<pre>'.$out.'</pre>';
?> 

参考:在shell中,“2>&1”是什么意思?

这可能会奏效。

echo shell_exec("echo " . $command_to_exec . " > myfile.java && javac myfile.java && java myfile.java");

只执行一行java代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM