好的,我有一个 Web 服务器和一个使用 php 的站点。我的问题是如何触发 php 文件定期运行(例如每 5 分钟一次)?
不幸的是,我的网络托管服务提供商似乎不支持 cronjobs,但对于没有 cron 访问权限的人来说,肯定有一些替代方案吗?
鉴于您的要求,不,如果没有 cronjob,您将无法做到这一点。如今,如果您无法使用 cron 工具,则只需切换主机即可。
另一种选择是,您的用户实际上会在他们访问您的网站时触发您的操作,这意味着,如果您确定您的网站每分钟都会受到点击,那么您将使用数据库跟踪您的“cron 作业”,所以当用户访问该网站,您检查 cron 是否在最近 5 分钟内运行,如果运行,则什么也不做,否则,您运行 cron 并保存它运行到数据库时的时间戳。每次用户访问您的网站时都会发生这种情况。
但是,这是可怜的人 cron,如果您的操作需要花费大量时间,则不应使用它,因为您的用户将不得不等待操作完成,因此如果需要时间,您的用户将离开网站。
编辑:如果它是您所说的专用服务器,您应该可以访问 shell,然后您可以从那里设置 cron。
根据您可能希望执行这 5 分钟的松散程度,以及您的网站是否有定期流量(每分钟至少 1 个请求),您可以考虑:
这个脚本运行得越多,你的 5 分钟就越准确。要增加此脚本的运行次数:
您可以使用 PHP 中的守护程序脚本来完成。
您可以创建一个守护程序并运行它。在那个存储中,每次都会看到时间差异。如果时间差异达到 5 分钟,那么您可以调用其他脚本并重置时间变量 - 反之亦然。