PHP shell_exec()不会执行screen命令来运行.jar文件

时间:2014-03-31 05:50:13

标签: java php shell ubuntu shell-exec

我正在Ubuntu的Minecraft控制面板上工作,因此我需要使用shell_exec()启动/停止.jar文件;

当我尝试像" whoami"这样的命令时,输出正常。但是当我尝试这个时:

shell_exec("screen -dmS mcsrv java -Xmx512M -jar /var/www/srv/craftbukkit.jar -o true nogui");

它没有做任何事情,我也检查了权限,www-data是文件的所有者

1 个答案:

答案 0 :(得分:1)

尝试将标准错误流重定向到stdout(通过将2>&1附加到命令中),获取该输出并打印它以检查是否存在有意义的错误消息

$cmd = "screen -dmS mcsrv java -Xmx512M -jar /var/www/srv/craftbukkit.jar -o true nogui";
$redirect = '2>&1';
// using variable substitution only for readability here 
shell_exec("$cmd $redirect", $output);
var_dump($output);