Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 有什么东西可以启动计时器来进行操作吗?_Php_Mysql_Sql - Fatal编程技术网

Php 有什么东西可以启动计时器来进行操作吗?

Php 有什么东西可以启动计时器来进行操作吗?,php,mysql,sql,Php,Mysql,Sql,在php中,有没有什么东西可以在几天后设置一个计时器来进行操作 就像我在数据库中阻止了用户表一样。。。我已经把它放到表中,假设我想在5天后将它从阻塞的用户表中删除。。。有没有什么东西可以使它自动化 希望我问得对,您理解我的想法将用户被禁止的时间和禁止持续时间保存在数据库中 当用户试图访问他的帐户时,请检查它是在(仍然被禁止)之前还是在(取消绑定)banDate+banDuration之后 另一种方法是使用或类似服务定期检查禁止时间。当用户登录时检查持续时间。如果上次登录时间减去现在时间

在php中,有没有什么东西可以在几天后设置一个计时器来进行操作

就像我在数据库中阻止了用户表一样。。。我已经把它放到表中,假设我想在5天后将它从阻塞的用户表中删除。。。有没有什么东西可以使它自动化


希望我问得对,您理解我的想法

将用户被禁止的时间和禁止持续时间保存在数据库中

当用户试图访问他的帐户时,请检查它是在(仍然被禁止)之前还是在(取消绑定)
banDate+banDuration
之后


另一种方法是使用或类似服务定期检查禁止时间。

当用户登录时检查持续时间。如果上次登录时间减去现在时间<5天,则用户被阻止,否则请登录他

我看到两种解决方案:

  • 制作cron任务,每个示例4小时,并编写脚本检查所有禁止时间
  • 检查禁用时间登录后,您可以使用会话或cookie限制SQL查询-尝试在cookie中存储禁用时间,当cookie存在时-不进行查询

  • 您可以使用SQL事件,也可以使用cron作业,有几个选项供您选择,但每次都是不必要的检查和查询making@user2779986:你预计会有多少被禁的人?偶尔会有这样一个琐碎的查询是没有意义的。然而,如果您希望它是准确的,这就是您要做的。@user2779986:请注意,crontab的准确度仅与您检查它的周期相同。所以,如果你能给我5小时的禁令,不要每天检查,每10分钟左右检查一次,等等,那么我可以很容易地删除我的cookie。是的,但当cookie不存在时,脚本必须进行查询;另外,当cookie中的值表明禁止时间结束时,脚本也必须进行查询。它是安全的,可以从许多查询中节省数据库。如果其他用户希望从同一台机器登录,情况如何?禁令不再是用户专用的,而是机器专用的。让我解释一下。。。1.检查cookie是否为“ban=user:bantime”2。如果没有,请执行查询3。如果是,请检查班顿时间;如果班顿时间结束,进行查询4。如果login=/=user,则进行查询(并可能设置另一个cookie)