簡體   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