繁体   English   中英

如何使用codeigniter设置cron作业

[英]How to set up a cron job with codeigniter

我正在尝试使用COdeigniter设置一个cron作业,但我无法弄清楚如何让它工作。 我的控制器文件夹中有一个名为email_check.php的文件,我已将.cron文件添加到服务器cron文件夹中,其中包含以下内容:

email_check.cron

*/1 * * * * php /var/www/html/application/controllers/email_check

email_check.php

class Email_check extends CI_Controller {

    function __construct()
    {
        parent::__construct();
        $this->index();
    }

    function index()
    {
        $this->load->model('admin/info_model'); 
        $this->info_model->addTestData();
    }

}

addTestData将新行添加到数据库表中。 我希望每分钟运行一次,但它根本不工作,我不知道为什么。

也许它可能是错误的路径。 我是否需要将php部分指向服务器中的php.exe。

如果有人可以帮助或指出我正确的方向,将不胜感激!

要通过命令行使用CodeIgniter,您需要调用index.php文件并将控制器和方法作为参数和任何其他参数传入。 因此,至少cron作业调用将是:

~/public_html/sitefolder/index.php controller method

或者使用应用程序索引文件的路径。 但是,您还需要使用为命令行编译的PHP,而不仅仅是PHP用于CGI-FCGI。 所以你的电话可能是这样的:

/ramdisk/bin/php5-cli ~/public_html/sitefolder/index.php controller method

取决于PHP CLI的位置。

这不起作用,因为只是点击你的email_check.php控制器将不会做任何事情,因为它不会调用你的index()方法。

你想编写一个脚本来创建一个新的控制器实例并调用该方法或通过URL调用它,我认为这样的话

* * * * * wget http://sitename.com/email_check

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM