我正在使用php和codeigniter框架的项目。我想每3个月在数据库中进行一次更改。问题是我不知道如何用PHP做到这一点。我可以在用户访问页面时激活一个功能,但我希望它在某个日期自行执行。
答案 0 :(得分:4)
您可以使用PHP编写脚本代码,并使用CRON运行它(假设您在UNIX / LINUX环境中托管应用程序)。
Here是一个WebSite,解释了如何使用CRON自动执行PHP。
答案 1 :(得分:1)
您需要设置cron作业(unix)或scheduled task(窗口)来为您执行此操作。
依靠用户点击页面来执行计划任务是非常糟糕的做法。
答案 2 :(得分:0)
如果您无权访问cron,您可以在主页上设置一个代码来检查每个访问者的日期,如果当前日期符合模数条件,则执行必要的任务。
答案 3 :(得分:0)
设置一个cronjob并制作你自己的bootstrap文件(你将调用这个文件并将类和方法作为命令行参数传递。
这是一种快速而肮脏的方式(完全未经测试)
// 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
这只是一个未经测试的示例 - 但应该指出正确的方向:)
答案 4 :(得分:-1)
如果你有一个抓取器命中的索引页面,你实际上不必使用cron,看看你的服务器日志它没有停止。例如,如果您需要每月执行一次任务,请在下个月保存在文本文件中,当您获得匹配时运行您的任务。将此放在一个页面中,您知道抓取工具一直在点击,当月份发生变化时,它会触发您的脚本。