PHP 脚本在没有 CRON 的情况下每天运行几次?

发布于 2024-10-15 07:08:53 字数 193 浏览 5 评论 0原文

嘿! 我正在寻找一些可以帮助我完成这样的任务的方法: 编写一个函数,每2天清除XML文件的内容。无需使用 CRON 或类似工具,仅使用 PHP 即可完成此操作。 到目前为止,我从未做过与时间相关的运行脚本,所以有没有办法只用 PHP 来制作它? 我假设函数所做的一切都是没有用户意会的,所以我尝试函数 sleep(),但我认为必须有更好的解决方案。 有人知道如何帮助我吗?

Hey!
i'm looking for some way that can help me in task like this:
write a function that every 2 days clear content of XML file. Do this with no CRON or similar tools, just PHP.
So far i've never done time-related-run script so is there a way to make it with only PHP?
I assume that everything what functions does is without users ingerention, so i try function sleep(), but i think there must be better solution.
Anyone know way to help me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

吖咩 2024-10-22 07:08:53

根据每个请求检查文件的修改或创建日期。
如果当前时间减去文件时间大于 2 天 - 删除文件或清除内容。

这种情况下的请求是低分辨率时钟。一般来说,检查文件时间(stat)是相当快的操作。

On every request check modification or creation date of file.
If current time minus file time is greater than 2 days - delete file or clear content.

Request in this case is poor resolution clock. Generally checking file time (stat) is quite fast operation.

青衫儰鉨ミ守葔 2024-10-22 07:08:53

您可能想考虑将脚本作为守护进程运行。 PEAR 的 System_Daemon 类管理许多此类功能。您可以查看 http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/ 有关如何设置守护进程的好教程。

Cron 显然更适合定时任务,但如果 cron 确实不可用,这可能是一个选择。

You might want to look into running your script as a daemon. PEAR's System_Daemon class manages a lot of this functionality. You can take a look at http://kevin.vanzonneveld.net/techblog/article/create_daemons_in_php/ for a good tutorial on how to set up a daemon.

Cron is obviously better for a timed task, but if cron really isn't available, this might be an option.

风吹雪碎 2024-10-22 07:08:53

有些服务会在给定时间调用您的脚本。

在线 CRON 服务

There are services that call your scripts at given times.

ONLINE CRON SERVICES

似最初 2024-10-22 07:08:53

如果没有 Cron 或让浏览器保持打开状态,我不确定这是否可行?

Without Cron or leaving your browser open, i'm not sure this is possible?

睫毛上残留的泪 2024-10-22 07:08:53

让脚本 sleep() 休息 2 天并不是一个好主意。使用 webcron

Letting the script sleep() for 2 days is no good idea. Use a webcron.

蓝咒 2024-10-22 07:08:53

当没有 cronjobs 的原因是您无法在服务器上定义 cronjobs 时,也许您可​​以在另一台(本地)计算机上调用一个脚本,该脚本每隔一天发出一次 HTTP 请求,从而触发您的 PHP 脚本?

When the reason for no cronjobs is, that you cannot define cronjobs on your server, maybe you can call a script on another (local) machine that makes a HTTP request every other day which fires your PHP script?

緦唸λ蓇 2024-10-22 07:08:53

如果您的脚本执行速度很快,您可以使用“基于用户的 cron”。

-您将上次执行时间保存在某个地方
- 每个访问者都会触发对最后执行时间的检查
-如果执行时间超过定义的持续时间,则执行脚本

如果您的脚本不需要精确的执行时间并且执行速度非常快,这可能是一个很好的解决方案(触发执行的用户不应受到影响)

If your script is fast to execute you can use an "user based cron".

-You save somwhere the last execution time
-Each visitor trigger a check on the last execution time
-if the execution time exceed the defined duration the script is executed

It can be a good solution if your script don't need an exact execution timing and is very quick to execute (the user which trigger the execution should not be impacted)

孤城病女 2024-10-22 07:08:53

这将每 2 天(或指定天数)为您运行一次脚本
http://www.phpjobscheduler.co.uk/

This will run your script for you every 2 days (or specify number of days)
http://www.phpjobscheduler.co.uk/

别闹i 2024-10-22 07:08:53

您可以使用 MySQL 数据库或文件来安排作业,如下所述 此处

当 cron 作业不可用或未配置时,WordPress 也会使用相同的方法。

You can schedule the jobs using a MySQL database or a file as described here.

WordPress is also using the same method when cron jobs doesn't available or not been configured.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文