【发布时间】:2011-03-14 00:59:56
【问题描述】:
我在一个使用 php 和 codeigniter 框架的项目中。我想每 3 个月对数据库进行一次更改。问题是我不知道如何用 PHP 做到这一点。当用户访问页面时,我可以激活一个功能,但我希望它在某个日期自动执行。
【问题讨论】:
标签: php codeigniter date auto-update
我在一个使用 php 和 codeigniter 框架的项目中。我想每 3 个月对数据库进行一次更改。问题是我不知道如何用 PHP 做到这一点。当用户访问页面时,我可以激活一个功能,但我希望它在某个日期自动执行。
【问题讨论】:
标签: php codeigniter date auto-update
如果你有一个被爬虫击中的索引页面,你实际上不必使用 cron,看看你的服务器日志它是不停的。例如,如果您需要每月执行一次任务,下个月保存在文本文件中,当您获得匹配时运行您的任务。把它放在一个你知道爬虫一直在攻击的页面中,当月份发生变化时,它会触发你的脚本。
【讨论】:
I want it to be self-executed at certain date,没有用户。我的猜测是:也没有爬虫。
设置一个 cronjob 并制作您自己的引导文件(您将调用此文件并将类和方法作为命令行参数传递。
这是一种快速而肮脏的方式(完全未经测试)
// usage: php cmd.php users/cron
if (php_sapi_name() != 'cli' || count($argv) != 2) {
exit('Not enough params');
}
// Fake REQUEST_URI
$_SERVER['REQUEST_URI'] = $argv[1];
// include the index bootstrap file
require 'index.php';
将文件命名为 cmd.php 并设置一个 cron 作业以每月运行一次。
用法:
cd root/to/directory && php cmd.php users/prune
这只是一个未经测试的示例 - 但应该为您指明正确的方向 :)
【讨论】:
如果您无法访问 cron,您可以简单地在您的主页上放置一个代码来检查每个访问者的日期,如果当前日期符合模数条件,则执行必要的任务。
【讨论】:
您可以使用 PHP 编写脚本,并使用 CRON 运行它(前提是您将应用程序托管在 UNIX/LINUX 环境中)。
Here 是一个解释如何使用 CRON 进行 PHP 自动执行的网站。
【讨论】:
您需要设置一个 cron 作业 (unix) 或一个 scheduled task (windows) 来为您执行此操作。
依靠用户点击页面来执行计划任务是非常糟糕的做法。
【讨论】: