如何在 Web 应用程序中的某个日期执行某个功能?
我正在进行一个使用 php 和 codeigniter 框架的项目。我想每三个月对数据库进行一次更改。问题是我不知道如何用 PHP 做到这一点。我可以在用户访问页面时激活某个功能,但我希望它在特定日期自动执行。
I am on a project using php and codeigniter framework. I want to make changes in the database every 3 months. The problem is I don't know how to do it with PHP. I can activate a function when a user access a page, but I want it to be self-executed at certain date.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您可以使用 PHP 编写脚本,并使用 CRON 运行它(前提是您在 UNIX/LINUX 环境中托管应用程序)。
这里是一个网站,解释如何执行自动化 PHP使用 CRON 执行。
You can code your script in PHP, and run it with CRON (provided you are hosting your application in a UNIX/LINUX environment).
Here is a WebSite explaining how to do your automated PHP execution with CRON.
您需要设置一个 cron 作业 (unix) 或 计划任务 (Windows) 将为您执行此操作。
依赖用户点击页面来执行计划任务是非常糟糕的做法。
You need to setup a cron job (unix) or a scheduled task (windows) that will do this for you.
It is very bad practice to rely on a user hiting a page to do scheduled tasks.
如果您无权访问 cron,您可以简单地在主页上放置一个代码来检查每个访问者的日期,并在当前日期符合模数条件时执行必要的任务。
If you don't have access to cron, you can simply plant a code at your main page that checks the date upon every visitor, and do the necessary tasks if the current date conforms with the modulo condition.
设置一个 cronjob 并创建您自己的引导文件(您将调用此文件并将类和方法作为命令行参数传递。
这是一种快速而肮脏的方法(完全未经测试)
将文件命名为 cmd.php 并设置一个每月运行的 cron 作业
用法:
这只是一个未经测试的示例 - 但应该为您指明正确的方向:)
Setup a cronjob and make your own bootstrap file (you'll call this file and pass the class and method as command line params.
This is a quick and dirty way of doing it (totally untested)
Name the file cmd.php and setup a cron job to run every month.
usage:
This is just an un-tested example - but should point you in the right direction :)
如果你有一个爬虫访问的索引页面,你实际上不必使用 cron,查看你的服务器日志,它不会停止。例如,如果您需要每月执行一次任务,请将下个月保存在文本文件中,当您获得匹配时运行您的任务。将其放在您知道爬虫始终会访问的页面中,当月份发生变化时,它会触发您的脚本。
You actually don't have to use cron if you have an indexed page the crawlers hit, look at your server logs it's none stop. For example if you need to perform a task once per month save next month in a text file, when you get a match run your task. Put this in a page you know the crawlers hit all the time, when the month changes it triggers your script.