如何通过PHP模拟在使用screen时按enter键?
我正在尝试创建一个bash脚本来重新加载或停止我的Minecraft服务器。我创建它是为了使用如何通过PHP模拟在使用screen时按enter键?,php,linux,bash,exec,gnu-screen,Php,Linux,Bash,Exec,Gnu Screen,我正在尝试创建一个bash脚本来重新加载或停止我的Minecraft服务器。我创建它是为了使用shell\u exec()在PHP中运行它。到目前为止,我还没有弄清楚如何模拟按下回车键 我试过: screen -S minecraft -X stuff $"reload\n" screen -S minecraft -X stuff "reload" screen -S minecraft -X stuff $'reload\n' 这3个选项中的最后一个选项在我从bash运行时有效,但通过
shell\u exec()
在PHP中运行它。到目前为止,我还没有弄清楚如何模拟按下回车键
我试过:
screen -S minecraft -X stuff $"reload\n"
screen -S minecraft -X stuff "reload"
screen -S minecraft -X stuff $'reload\n'
这3个选项中的最后一个选项在我从bash运行时有效,但通过PHP打印执行它
>$reload\n
而且它从不点击“回车”,因此即使输入错误,命令也不会通过
我在sudoers文件中有www数据,可以执行这个bash文件。屏幕正在另一个帐户(minecraft)上运行。以下是我的PHP端代码:
echo " Your account has been verified. Server reload command called.";
$output = exec("sudo -u minecraft /var/www/pditbp/commands/reload.sh");
echo "The output of running the <b>reload</b> command has produced: ";
echo $output;
echo“您的帐户已被验证。调用了服务器重新加载命令。”;
$output=exec(“sudo-u minecraft/var/www/pditbp/commands/reload.sh”);
echo“运行重新加载命令的输出已产生:”;
echo$输出;
有什么想法吗?这已经解决了,伙计们。感谢所有人的关注。我会在等待8小时后发布答案,因为我还没有足够的声誉。谢谢@Edwin。我已经从你的答案中删除了它,但是如果你想复制粘贴它,它在。