2016-10-20 29 views
2

我希望有人能帮助我,我有以下的PHP文件运行PHP的javac检查

var_dump(exec('command -v javac'))

我也曾尝试

exec('command -v javac', $output); echo $output;

所有然而返回""运行在Linux中的CLI上的相同的command -v javac给我我正在寻找什么。

任何人都可以想到为什么会发生这种情况?

例如我也使用exec('whoami', $output);这是返回apache进程所有者,所以exec工作正常。

+0

@FranzGleichmann对不起,我实际使用'var_dump'作为我调试较长'EXEC( '命令-v的javac>的/ dev/null的2>&1 &&回波1 ||回波0');' 这是回来了0 –

回答

0

使用此:

exec('command -v javac', $output); 

$输出将存储EXEC的输出。

出于安全原因,exec可能在主机上被禁用,这也是它返回空字符串的另一个原因。

+0

试过,仍然回来空。 –

+0

你确定exec和shell_exec在你的主机上被启用了吗?有时出于安全原因而禁用它们。 – krasipenkov

+0

我也运行'exec('whoami',$ output);'这给了我服务器的主机名,所以是它看起来已启用。 –