首页 > 解决方案 > 如何在服务器上的特定时间后运行 PHP 函数?

问题描述

我有一个向我的数据库添加新博客文章的功能。

运行add_new_post()函数后,帖子应该由我的另一个函数approve_post()批准。

但我不想立即批准帖子。我想.1 to 5 minute (random)

现在我正在使用这段代码:

function add_new_post() {
    *my code of adding post*

    $time = rand(60, 300);
    echo $time;
    sleep($time);

    approve_post();
}

但是浏览器显示加载直到睡眠结束。另外,我发现我的 Windows 机器显示时间执行错误。

有没有办法approve_post()在后台运行功能而不向浏览器显示页面加载?

我将不胜感激代码示例。

标签: php

解决方案


首先,您需要通过使用以下链接https://www.plus2net.com/php_tutorial/max-ex.php来增加 PHP 脚本的最大执行时间

然后使用sleep()函数来延迟代码执行:

<?php
echo date('H:i:s');
sleep(15);
flush();
echo "<br>";
echo date('H:i:s');
?>

参考链接

或者你可以CronJob


推荐阅读