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

标签 php mysql

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

一旦点击网页上的按钮,它就会向该 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/

相关文章:

mysql - 如果表中有一行有 2 个相似的列,则更新,则插入

mysql - 逻辑类型问题: grouping/adding columns in mySql

php - 设计一个 MySQL 数据库,我应该重新考虑它吗?

php - 单页网站的后退按钮

javascript - 动态创建表和行

php - 根据里氏替换原则,子类是否允许拥有公共(public)方法?

PHP Time() 在 MySQL 中的存储

php - PDO - 将字段名称作为变量传递

php - Laravel 5.2 注册后将数据存储在另一个数据库中

php - 如何在 Mac 上安装 php v8js?