gpt4 book ai didi

php - 如何在 PHP 中 2 分钟后更新 SQL

转载 作者:行者123 更新时间:2023-11-29 17:46:01 27 4
gpt4 key购买 nike

我目前正在尝试在网页上创建一个按钮,该按钮本质上会重新启动服务器。

一旦点击网页上的按钮,它就会向该 url 发送一个请求,该请求将重新启动该 url 所在的服务器,并且还会 UPDATE我的数据库中的 3 个 api 服务器为 online = 0但是,一旦 2 分钟过去,我希望将数据库中的 3 个 api 服务器设置回 online = 1 。如果在 2 分钟内再次单击该按钮,那么我想显示一条错误消息:This server has already been rebooted in the last 2 minutes, please try again soon

这就是我目前所拥有的,但是当我单击按钮时,它不会像应有的那样重新启动服务器(我已经测试了此重新启动,它实际上有效)和 online未更新为0在数据库中。

if (isset($_POST['reboot'])){
$fp = fsockopen("api.example.co.uk", 80, $errno, $errstr, 5);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: api.example.co.uk\r\n";
$out .= "Connection: Close\r\n\r\n";
fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
$SQLinsert = $odb -> prepare("INSERT INTO `reboot` VALUES(NULL, reboot, UNIX_TIMESTAMP())");
$SQLUpdate = $odb -> prepare("UPDATE `api` SET `online`= 0 WHERE `name` = 'METHOD1'");
$SQLUpdate = $odb -> prepare("UPDATE `api` SET `online`= 0 WHERE `name` = 'METHOD2'");
$SQLUpdate = $odb -> prepare("UPDATE `api` SET `online`= 0 WHERE `name` = 'METHOD3'");
$notify = success('Server has been rebooted. Please allow up to 2 minutes for it to get back online.');
}
fclose($fp);
}
}

<form method="post"><button name="reboot" type="submit" class="btn pull-right hidden-sm-down btn-success"><i class="mdi mdi-refresh"></i> Reboot Server</button></form>

最佳答案

好吧,我在你的过程中发现了很多缺陷,但如果你愿意的话,你可以做cof cof做一个 sleep ($秒)等待这2分钟来显示给您的用户的消息

也许我不明白......另一个,以我的拙见,要做到正确的方式,你应该在这个服务器(谁将数据库在线设置为0)和在服务器中创建一个API刚刚上去ou调用这个API设置online = 1,明白了吗?

关于php - 如何在 PHP 中 2 分钟后更新 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49821826/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com