Я делаю администрирование для своего сервера и хочу сделать это удаленно, но обнаружил проблему. Когда я запускаю сервер 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);
Похоже, вы хотите запустить сервер Minecraft в качестве фонового процесса. Хотя я не смог попробовать решение ниже, этот поток звучит так, как будто он пытается решить аналогичную проблему:
PHP exec () в качестве фонового процесса (среда Windows Wampserver)
Хорошо, у меня есть решение.
Даже Wscript.Shell не будет работать, эта команда работает.
$cmd = "java -jar D:/xampp/htdocs/hosting/servers/" . $id . "/minecraft_server.jar";
pclose(popen("CMD /C start /B " . $cmd, "r"));
Спасибо за попытку помочь!