通过PHP在远程服务器上运行脚本

时间:2014-08-28 20:55:25

标签: php shell

我有一家游戏服务器公司,在我的控制面板上,我目前有一个页面,用户可以点击按钮,然后在游戏服务器上安装一个世界。如何做到这一点是通过节点上的脚本将世界提取到他们的游戏服务器上。

我有几个节点,面板托管在我的网络服务器上。我如何点击网站上的按钮,它不仅会将表单的值发布到脚本中,还会运行脚本?

如果您需要知道,脚本如下:

#!/bin/bash

id=$SERVERID

if [ "$WORLD" = "testworld" ]; then
     cd "/home/minecraft/multicraft/servers/server$SERVERID"
     unzip -nu "$JAR_DIR/maps/testworld.zip"
fi

exit 0

变量$ WORLD是需要从控制面板上的表单作为POST发送到脚本的内容。

变量$ SERVERID在脚本的顶部定义,还需要从控制面板上的表单发送。控制面板已经定义了这个变量,它只需要作为表单的一部分发送到脚本。

我非常确定如何在行上回显$ SERVERID变量:

cd "/home/minecraft/multicraft/servers/server$SERVERID"

所以对此有所帮助也很感激。

有什么想法吗?

由于

1 个答案:

答案 0 :(得分:0)

您可以将脚本作为Shell脚本保存在服务器上,该脚本接受$ WORLD和$ SERVERID作为命令行参数。之后,使用execsystem命令从PHP运行该脚本。

现在,您的Shell脚本看起来像这样。

#!/bin/bash

id=$SERVERID

if [ "$1" = "testworld" ]; then
 cd "/home/minecraft/multicraft/servers/server${2}"
 unzip -nu "$JAR_DIR/maps/testworld.zip"
fi

exit 0

将其另存为,script.sh。现在,从PHP调用它。

exec("script.sh " . $WORLD . " " . $SERVERID);

我希望我能正确地回答你的问题,这会有所帮助。