gpt4 book ai didi

php - 如何阻止影响我整个 PHP 代码的 PHP sleep()?

转载 作者:行者123 更新时间:2023-12-02 05:29:31 25 4
gpt4 key购买 nike

所以,在我的街机上,howlingdoggames.com。我有一个积分系统,每次你访问一个有游戏的页面时都会给你一个积分。为了减少滥用,我想进行某种延迟,因此仅在 45 秒后才授予。这是我尝试过的:

if ($_SESSION['lastgame'] != $gameid) {
sleep(45);
$points = $points + $game_points;
$_SESSION['lastgame'] = $gameid;
}
但这似乎使我的整个网站停止了 45 秒,因为这是在 index.php 中。 ,以及我网站的许多其他代码。
无论如何我可以隔离那段代码,所以它只会声明
$points = $points + $game_points;
等待 45 秒?

最佳答案

PHP 中(大部分)没有多线程。您可以通过在 Unix 系统上 fork 进程来做到这一点,但这无关紧要,因为多线程并不是您真正想要的。你只想要这样的简单逻辑:

$now = time();
session_start();
$last = $_SESSION['lastvisit'];
if (!isset($last) || $now - $last > 45) {
$points = $_SESSION['points'] ?? 0;
$_SESSION['points'] = $points + 10;
$_SESSION['lastvisit'] = $now;
}
基本上只有在您上次给分之间的增量大于 45 秒时才给分。

关于php - 如何阻止影响我整个 PHP 代码的 PHP sleep()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1617412/

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