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

标签 java nginx ubuntu-18.04 laravel-5.7 php-7.2

我试图使用函数 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');

回显$结果;

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

提前致谢。

最佳答案

试试这个代码:

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

关于java - 如何使用 shell_exec() 函数从 php 页面执行 java 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56571689/

相关文章:

cuda - 删除 CUDA 10.0 并在 Ubuntu 18.04 上安装 CUDA 9.2

java - BigDecimal 格式

java - 尝试编码数据时出现 BufferOverflowException

ssl - 如何为nginx配置pem文件?

CakePHP 与 Homestead

python - 如何在 ubuntu 18.04 bionic 上安装加密技术?

java - 基于 timertask 的注销给我带来问题

java.io.IOException : Server returned HTTP response code: 500 for URL :"SoapEndPoint url" 异常

nginx - HLS 文件(.m3u8,.ts)不在 nginx_rtmp_module 上创建

Ubuntu 17.10 上未显示 Electron 托盘图标