Python-termcolor

时间:2018-08-16 17:08:13

标签: java php shell-exec

我有以下 PHP代码,它尝试使用shell_exec命令运行JAVA:

ionic cordova build browser --prod
PHP程序的

输出是:

<?php
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
ini_set("display_errors", 1);

function isEnabled($func) {
    return is_callable($func) && false === stripos(ini_get('disable_functions'), $func);
}
if (isEnabled('shell_exec')) {
    $output = shell_exec('ls -lart');
    echo "<pre>$output</pre>";

    echo shell_exec('echo "hello world"');
    echo shell_exec('java -version 2>&1"');
} else {
    echo "DISABLED";
}
?>

很明显,尽管打印了其他命令,但java -version命令缺少输出。

问题:为什么在调用“ java -version”命令时没有Java输出或至少没有错误报告?

从命令行(不是PHP)执行时,输出为:

  

java版本“ 1.8.0_66” Java™SE运行时环境(内部版本   1.8.0_66-b17)Java HotSpot(TM)64位服务器VM(内部版本25.66-b17,混合模式)

如何说服PHP执行我的JAVA应用程序?

我的Web服务器以“ www-data”用户身份运行:

total 100
drwxr-xr-x 22 root root  4096 Aug 16 13:11 ..
-rw-r--r--  1 root root   307 Aug 16 13:15 cancel.php
-rw-r--r--  1 root root  1587 Aug 16 14:26 index.php
hello world

将命令作为www-data运行也很完美:

echo posix_getpwuid(posix_geteuid())['name'];

0 个答案:

没有答案