1

是否可以告诉 PHP 在给定的日期和时间执行一段代码?例如,Blogger.com 允许某人设置将来发布的博文(例如 2014 年 12 月 12 日上午 6:00)。

PHP可以做类似的事情吗?

(对不起,我什至不知道像这样的事件的正确术语是什至能够搜索它们!:()

4

5 回答 5

1

告诉 PHP 自己执行此操作是不可能的,因为它需要一个永远运行的进程来定期调用您的 PHP 代码。值得庆幸的是,有几件事可以做到这一点:

1) 从 cron 作业调用 PHP 脚本,然后执行任何必要的工作。如果您无权访问 crontab,则可以在用户 ping 您的站点时定期调用它,尽管这当然不太可靠。

2)使用at。这与 Linux 系统上的 cron 的工作方式基本相同,但会在准确的时间安排一次。

于 2013-02-22T00:32:15.133 回答
1

对于“在特定时间触发代码”,cron 有效。但是对于像在特定时间发表文章这样简单的事情,它是不需要的。您可以在文章中存储发布日期。显示文章列表时,您可以将查询调整为类似WHERE PUBLISH_DATE <= NOW()的内容,并在文章页面上检查文章的发布日期是否已过,然后再显示文章。

于 2013-02-22T00:37:54.250 回答
1

您可以使用 cron 作业(或 Windows 上的计划任务)来执行此操作;尽管它们通常用于重复工作。

如果您使用的是数据库,大多数平台都带有调度程序。

于 2013-02-22T00:30:27.910 回答
1

您可以在数据库中安排您的操作,并在您的服务器上使用 cronjob 或使用 cron 作业服务来运行您的操作。

https://www.setcronjob.com/

例如,当您想在将来发布您的博客时,您可以在将来保存您的发布日期并设置某种自动发布位。

然后每小时由 cronjob 运行一个 PHP 脚本,该脚本检查数据库中所有需要发布的博客。

于 2013-02-22T00:31:08.043 回答
0

在类 Unix 系统上,有 Cron。您可以从 PHP 管理 Cron

在 Windows 上,有计划任务——您也可以使用PHP 来管理计划任务

不过要小心——这有点难以测试,你最终可能会遇到一个削弱服务器的时间表。

于 2013-02-22T00:33:56.360 回答