让PHP在特定日期运行一次

时间:2014-12-19 10:59:09

标签: php date time server

我已经调查了这一点,并且我已经发现了关于Cron的工作 - 但问题是它只需要运行一次。

背景: 我的用户可以创建一些过期的东西 - 他们会在过期时选择。

我的解决方案之一:也许我不必在那天过期 - 每当有人要求该东西时,我可以检查它是否已经过期,如果有,那么我可以改变相应的事情。

为什么它不起作用:我还希望在该内容过期时发送电子邮件。

感谢您的帮助!

5 个答案:

答案 0 :(得分:0)

您可以设置一个运行脚本的cron作业,该脚本将日期与expriation日期进行比较。如果它等于到期日期,发送邮件,否则什么都不做。

答案 1 :(得分:0)

如果您使用MYSQL,则可以使用事件。我已经成功地使用了它们。

答案 2 :(得分:0)

您可以选择使用某种“跑步者”来检查在特定时间运行的可用作业并运行它们。 然后你可以创建一个激发跑步者的cronjob。

答案 3 :(得分:0)

您正在寻找Cron工作,您只需要找到一种方法来运行任务一次。

https://stackoverflow.com/a/5473841/2055152

  

尝试使用此命令在2011年3月30日午夜执行命令:

     

0 0 30 3 ? 2011 /command

这个答案提供了一个简单的解决方案。如果您希望用户使用PHP创建自己的事件,只需将他们想要的日期转换为cron格式。小心你允许它们发射的东西!

答案 4 :(得分:0)

您可以将时间戳与您呼叫过期的用户项目一起保存,例如

然后你可以运行一个cron作业,删除所有已经过期时间的项目。

if($item.expire < time())
{
   // Item has expired, remove it
}