[英]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>';
?>
這可能會奏效。
echo shell_exec("echo " . $command_to_exec . " > myfile.java && javac myfile.java && java myfile.java");
只執行一行java代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.