我正在尝试构建一个启动minecraft_server.jar的脚本(位置:用户目录/ mineserver / minecraft_server.jar )。
我已经安装了PHP和Apache,并且正在尝试从/var/www/html/interface.php启动服务器JAR。
通过控制台,服务器运行以下命令即可正常启动:
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);但是在我访问了这个文件之后,服务器再也没有启动过。我做错了什么?
谢谢你提供的所有线索。
我想说谢谢你在感恩节的帮助。虽然我还没有找到解决方案,但我很感谢你的努力。再次感谢。
发布于 2012-11-23 11:31:14
你检查过错误日志了吗?默认情况下,它位于/var/log/httpd。如果有什么地方出了问题,它应该在那里。否则,它可能会出错,我建议您在screen中启动它,这样您就可以进入并检查它正在做的任何事情。
通过您的发行版使用的任何方法安装screen,然后将启动字符串更改为:
screen -dmS "minecraft" java -Xmx1024M -Xms1024M -jar /home/ec2-user/mineserver/minecraft_server.jar nogui
发布于 2012-11-23 11:33:34
该命令将以运行web服务器的任何用户帐户的权限和环境执行。
特别是,它可能有一个不同的PATH条目,甚至可能找不到java命令,或者它可能在其他地方找到,等等……
另外,要知道它从PHP脚本继承的当前工作目录是什么。
查看exec()并检查输出,以帮助您进行一些基本的调试。
此外,您可能想要更多类似于
exec('nohup java etc... > /dev/null 2>&1 &');以便该进程得到适当的后台处理,并与the服务器父进程断开连接。
https://stackoverflow.com/questions/13522687
复制相似问题