2

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.

4

5 回答 5

4

您可以使用 PHP 编写脚本,并使用 CRON 运行它(前提是您将应用程序托管在 UNIX/LINUX 环境中)。

是一个解释如何使用 CRON 执行 PHP 的网站。

于 2010-07-09T19:00:32.693 回答
1

您需要设置一个cron作业 (unix) 或一个计划任务(windows) 来为您执行此操作。

依靠用户点击页面来执行计划任务是非常糟糕的做法。

于 2010-07-09T19:00:17.107 回答
0

如果您无法访问 cron,您可以简单地在您的主页上放置一个代码来检查每个访问者的日期,如果当前日期符合模数条件,则执行必要的任务。

于 2010-07-09T19:07:46.027 回答
0

设置一个 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

这只是一个未经测试的示例-但应该为您指明正确的方向:)

于 2010-07-09T19:21:42.873 回答
-2

如果你有一个被爬虫击中的索引页面,你实际上不必使用 cron,看看你的服务器日志它是不停的。例如,如果您需要每月执行一次任务,下个月保存在文本文件中,当您获得匹配时运行您的任务。把它放在一个你知道爬虫一直在攻击的页面中,当月份发生变化时,它会触发你的脚本。

于 2014-05-25T06:47:06.833 回答