php - 如何在服务器上的特定时间后运行 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()
在后台运行功能而不向浏览器显示页面加载?
我将不胜感激代码示例。
解决方案
首先,您需要通过使用以下链接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
推荐阅读
- java - 实现自己的jar时得到NoClassDefFoundError
- javascript - 谷歌发布标签允许客户编辑更新广告
- flutter - 跨应用程序的 Flutter Firebase 用户身份验证管理
- python - 检查值是否在列表中的更好方法?
- python - 如何使用漂亮的汤禁用不在列表中的所有链接
- python - 在 Scrapy 中使用字体或颜色抓取网站
- python - python求解字符串内的方程
- javascript - Expressjs:如何使用多个查询字符串正确搜索?
- javafx - 无法通过另一个控制器控制另一个 fxml 文件的元素
- typescript - 使用原型向 Typescript 类添加方法