gpt4 book ai didi

php - cron - 如果 session 过期则更新数据库

转载 作者:可可西里 更新时间:2023-11-01 08:37:39 27 4
gpt4 key购买 nike

我在 mysql 数据库中有一个“用户”表,如果用户在线,我会在一个字段中保留信息。

一切正常,除了:

-如果某个用户关闭浏览器,他的在线状态不会变为离线。

有人告诉我可以使用 cron 来做到这一点,但我对此一无所知。

我可以将用户 ID 保存在他的 session 中,并使 php 函数更新数据库。

但是...我不知道如何让 cron 运行那个 php(使用 session 中的 id)

做起来有多容易?

最佳答案

这很简单。这可能在您的 PHP 文件中(称之为 update.php)。

<?php
/*connect to mysql as per normal*/
// log users off (hopefully, you're using enum here, but for an example...)
mysql_query( 'UPDATE USERS SET STATUS = \'LOGGED_OFF\' '.
// whose last action was more than 14400 seconds ago (4 hours)
'WHERE (CURRENT_TIMESTAMP() - TIMESTAMP(LAST_ACTION)) > 14400' );
?>

然后,打开crontab:

crontab -e

并添加此行以每 15 分钟运行一次测试(如果您愿意,可以将数字 15 更改为另一个数字):

*/15 * * * * /path/to/update.php

关于php - cron - 如果 session 过期则更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6708978/

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