我有一台运行XAMPP的Windows Server(正在运行Apache 2.4和PHP 7),并且我想构建一个PHP脚本,该脚本可以在同一台计算机上启动和停止一些游戏服务器。
我现在正在为 Minecraft服务器而苦苦挣扎,所以让我们以此为例:
我有一个名为C:\_tekkitlite
的文件夹,是我的世界服务器所在的文件夹。这些文件夹中有以下文件(以及其他一些不重要的文件):
launch.bat
minecraft_server.jar
TekkitLite.jar
C:\_tekkitlite\launch.bat
中包含以下代码:
java -Xmx3G -Xms2G -jar TekkitLite.jar nogui
pause
我当前的C:\_xampp\htdocs\startserver.php
如下:
system('C:\_tekkitlite\launch.bat');
执行上面的行时,我收到以下消息
C:\_xampp\htdocs>java -Xmx3G -Xms2G -jar TekkitLite.jar nogui C:\_xampp\htdocs>pause Dr�cken Sie eine beliebige Taste . . .
问题是机器上没有运行Java进程,因此minecraft服务器处于脱机状态。
当我将C:\_xampp\htdocs\startserver.php
更改为以下内容时:
system('java -Xmx3G -Xms2G -jar C:\_tekkitlite\TekkitLite.jar nogui');
我没有收到来自php的消息(我认为因为此代码结尾没有pause
)但是我得到了一个Java进程和一个正在运行的服务器。
问题是您无法加入该服务器,因为该服务器似乎没有执行任何操作。通常,Minecraft服务器启动后会创建一堆文件,而当我使用上述脚本启动该文件时,我的文件不会。
从现在开始,我不知道该怎么办。我在某个地方犯了错误吗?
我认为权限不是问题,因为当我使用{p>在C:
上创建批处理时
echo "TestTestTestTest"
pause
php输出此TestTestTestTest很好。