首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >通过PHP Exec()或类似函数启动Minecraft_Server.jar

通过PHP Exec()或类似函数启动Minecraft_Server.jar
EN

Stack Overflow用户
提问于 2012-11-23 11:22:43
回答 2查看 2K关注 0票数 2

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

我已经安装了PHP和Apache,并且正在尝试从/var/www/html/interface.php启动服务器JAR。

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

代码语言:javascript
运行
复制
java -Xmx1024M -Xms1024M -jar mineserver/minecraft_server.jar nogui

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

代码语言:javascript
运行
复制
system('java -Xmx1024M -Xms1024M -jar /home/ec2-user/mineserver/minecraft_server.jar nogui', $retval);

但是在我访问了这个文件之后,服务器再也没有启动过。我做错了什么?

谢谢你提供的所有线索。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 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

票数 2
EN

Stack Overflow用户

发布于 2012-11-23 11:33:34

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

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

另外,要知道它从PHP脚本继承的当前工作目录是什么。

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

此外,您可能想要更多类似于

代码语言:javascript
运行
复制
exec('nohup java etc... > /dev/null 2>&1 &');

以便该进程得到适当的后台处理,并与the服务器父进程断开连接。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13522687

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档