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