如何在codeigniter中使用模块制作cronjob?

时间:2014-03-02 06:05:03

标签: php codeigniter cron

我想制作一个cronjob来向用户发送关于某事的提醒?

我正在使用带有模块方法的codeigniter框架。

这是我的最后一次尝试:

0 7 3 * * /usr/bin/php index.php cli/cart_reminder

虽然我使用模块,但我在控制器文件夹

中创建了一个单独的控制器

这是我的代码:

class Cart_Reminder extends CI_Controller {

    function __construct() 
    {
        parent::__construct();
        $this->load->library('input');
        $this->load->library('email');
        $this->load->model('cart_reminder_model','cart_reminder');
    }

    public function index()
    {
//         if(!$this->input->is_cli_request())
//      {
//          echo "greet my only be accessed from the command line";
//          return;
//      }

        $emails=$this->cart_reminder->get_emails();

        foreach($emails as $em):
          $msg=$em['bo_name'].'\r\n';
          $msg.="هذه الكتب قد فمت بإضافتهالسلة المشتريات من قبل ولم تقم بإكمال عملية الشراء لإكمال عملية الشراء اضغط هنا ";
          $msg.="<a href='".base_url()."paypal/cart'>اضغط هنا</a>";
          $this->email->to($em['user_email']);
          $this->email->from($this->option->get('site_email'));
          $this->email->subject("رسالة تذكير");
          $this->email->message($msg);
          $this->email->send();      

        endforeach;
    }


}

现在它不起作用并以管理员身份发送给我这封邮件:

/ usr / local / cpanel / bin / jailshell:0:找不到命令

1 个答案:

答案 0 :(得分:0)

您需要做两件事(从命令提示符处):

1)确保PHP确实位于@ / usr / bin / php

/usr/bin/php --version

2)添加crontab条目的完整路径:

0 7 3 * * /usr/bin/php /home/users/test.com/index.php cli/cart_reminder

最后,一旦有了该命令集,请执行以下操作以确保它确实有效:

>cd $HOME
>/usr/bin/php /home/users/name/sites/test.com/index.php cli/cart_reminder