【问题标题】:PHP shell_exec() won't execute screen command to run .jar filePHP shell_exec() 不会执行屏幕命令来运行 .jar 文件
【发布时间】:2014-05-10 08:54:27
【问题描述】:

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

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

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

它什么也没做,我也检查了权限,www-data 是文件的所有者

【问题讨论】:

  • btw: 像wiki.ubuntuusers.de/Dedizierter_Minecraft-Server 中描述的 ubuntu 下的所有其他服务/守护进程一样启动 minecraft 服务器不是更容易吗(德语,但谷歌翻译在那里做得很好,它以“为了改进服务器的处理......”开头)?

标签: java php shell ubuntu shell-exec


【解决方案1】:

尝试将标准错误流重定向到标准输出(通过将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);

【讨论】:

    猜你喜欢
    • 2019-04-01
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-04
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多