代码之家  ›  专栏  ›  技术社区  ›  Junek Jester

PHP-启动minecraft\u服务器。Windows背景中的jar

  •  0
  • Junek Jester  · 技术社区  · 7 年前

    我正在为我的服务器进行管理,我想实现远程管理,但我发现了一个问题。当我启动minecraft服务器时,该文件的进程仍在运行,我的页面将被冻结,直到该进程被终止。

    我找到了许多答案,但不幸的是,我正在Windows上运行它。

    可能吗?我知道我可以开始。启动服务器的bat服务器,但我想说清楚。

    我的代码:

    chdir("D:/xampp/htdocs/hosting/servers/" . $id);
                    //$WshShell = new COM("WScript.Shell");
                    //$oExec = $WshShell->Run("ava -Xmx1g -jar minecraft_server.jar", 0, false);
    //idk how WshShell works, but it didn't worked..
                    exec("java -Xmx1g -jar minecraft_server.jar");
    

    提前感谢您的回复!

    编辑

    嗯,有一个问题。我试着用WinShell做些别的事情,但什么也没发生。当我想开始使用WinShell时,什么都没有发生,所以我必须启用一些东西来启用WinShell,还是有人知道为什么我的WinShell什么都不运行?

    密码

    chdir("D:/xampp/htdocs/hosting/servers/" . $id);
    $WshShell = new COM("WScript.Shell");
    $oExec = $WshShell->Run("java -Xmx1g -jar minecraft_server.jar", 0, false);
    
    2 回复  |  直到 7 年前
        1
  •  0
  •   nsprenkle    7 年前

    听起来你想触发Minecraft服务器作为后台进程。虽然我还没能尝试下面的解决方案,但这个线程听起来像是在试图解决类似的问题:

    PHP exec() as Background Process (Windows Wampserver Environment)

        2
  •  0
  •   Junek Jester    7 年前

    好的,我有办法。 甚至Wscript。Shell无法工作,此命令正在工作。

    $cmd = "java -jar D:/xampp/htdocs/hosting/servers/" . $id . "/minecraft_server.jar";
    pclose(popen("CMD /C start /B " . $cmd, "r"));
    

    谢谢你的帮助!