2

我正在尝试构建一个启动的脚本minecraft_server.jar(位置:用户目录/mineserver/minecraft_server.jar)。

我安装了 PHP 和 Apache,我正在尝试从/var/www/html/interface.php.

通过控制台,服务器通过运行以下命令正常启动:

java -Xmx1024M -Xms1024M -jar mineserver/minecraft_server.jar nogui

...来自用户目录。所以在interface.php文件中我有以下内容(上面列出的注意位置):

system('java -Xmx1024M -Xms1024M -jar /home/ec2-user/mineserver/minecraft_server.jar nogui', $retval);

但是在我访问文件后服务器永远不会启动。我究竟做错了什么?

感谢您提供任何和所有线索。

我想说谢谢你在感恩节的帮助。虽然我还没有找到解决方案,但我很感激这些努力。再次感谢。

4

2 回答 2

2

你检查过错误日志吗?默认情况下是在/var/log/httpd。如果有任何问题,它应该在那里。否则,它可能开始出错,我建议在屏幕中启动它,这样你就可以跳进去检查它正在做的任何事情。

通过您的发行版使用的任何方法安装screen,然后将启动字符串更改为:
screen -dmS "minecraft" java -Xmx1024M -Xms1024M -jar /home/ec2-user/mineserver/minecraft_server.jar nogui

于 2012-11-23T03:31:14.467 回答
2

该命令将使用权限以及运行 Web 服务器的任何用户帐户的环境执行。

特别是,它可能有不同的PATH条目,java甚至可能找不到该命令,或者它可能在其他地方找到等等......

另外,请注意它从您的 PHP 脚本继承的当前工作目录。

查看exec()并检查输出以帮助自己进行一些基本调试。

此外,您可能想要更多类似的东西

exec('nohup java etc... > /dev/null 2>&1 &');

以便该进程得到正确的后台处理并与网络服务器父进程断开连接。

于 2012-11-23T03:33:34.187 回答