Cakephp 2.0 如何在cakephp中执行cron作业?

Cakephp 2.0 如何在cakephp中执行cron作业?,cakephp-2.0,Cakephp 2.0,我创建了一个文件cron_scheduler.php,它是wamp/www/projectname/app/webroot/index.php文件的副本,也在同一个文件夹中 我试图运行throw命令提示符,但没有得到任何结果 如何为Cakephp运行cronjob?我不知道 如果有人知道,请帮助我。 提前谢谢 对于CakePHP中的cronjobs,您可以查看。这对我来说很好 但请注意,有时并非所有环境参数都可用。我在访问cronjob方法中的env('HTTP\u HOST')时遇到了这个问

我创建了一个文件cron_scheduler.php,它是wamp/www/projectname/app/webroot/index.php文件的副本,也在同一个文件夹中

我试图运行throw命令提示符,但没有得到任何结果

如何为Cakephp运行cronjob?我不知道 如果有人知道,请帮助我。 提前谢谢



对于CakePHP中的cronjobs,您可以查看。这对我来说很好


但请注意,有时并非所有环境参数都可用。我在访问cronjob方法中的
env('HTTP\u HOST')
时遇到了这个问题。但是考虑到这一点,它应该没有问题。

步骤1:创建一个名为rementershell.php的shell文件,路径应该是PROJECT\u DIR\u Path/PROJECT\u name/app/Console/Command/rementershell.php复制到脚本下面并粘贴它
> i have tried to run throw command promt but didn't get any result 
> how to run cronjob for Cakephp ? i don't have any idea
  if anyone knows , please help me.
  Thanks 
步骤2:创建名为MailTask.php的任务文件,路径应为PROJECT_DIR_path/PROJECT_name/app/Console/Command/Task/MailTask.php

class ReminderShell extends Shell { 
         var $tasks = array('Mail'); 
         function main() { 
               $this->Mail->enroll_reminder(); 
                         }
          }

要从

中签出完整的文件,刚才看到,这个问题是几个月前提出的。希望这个答案仍然有帮助。可能重复
> i have tried to run throw command promt but didn't get any result 
> how to run cronjob for Cakephp ? i don't have any idea
  if anyone knows , please help me.
  Thanks 
class ReminderShell extends Shell { 
         var $tasks = array('Mail'); 
         function main() { 
               $this->Mail->enroll_reminder(); 
                         }
          }
<?php

App::uses('CakeEmail', 'Network/Email');

class MailTask extends Shell {

var $uses = array('Contact');

public function enroll_reminder() {
    $Email = new CakeEmail();
    $Email->config('default');
    $reminder = $this->Contact->find('all');
    if (!empty($reminder)) {
        foreach ($reminder as $val) {
        $id = $val['Contact']['id'];
        $name = $val['Contact']['first_name'];
        $email = $val['Contact']['email'];
        $Email->template('reminder')
            ->viewVars(array('fname' => $name))
            ->emailFormat('html')
            ->subject('xyz.com: Enrollment Reminder')
            ->to($email)
            ->from('noreply@xyz.com');
        if ($Email->send()) {
            $update_val['Contact']['id'] = $id;
            $update_val['Contact']['enroll_reminder'] = 'sent';
            $update_val['Contact']['enroll_reminder_date'] = date("Y-m-d H:i:s");
            $this->Contact->save($update_val['Contact']);
            $this->out($email.' Mail Sent');
        }
        }
    }
}
PROJECT_DIR_PATH/PROJECT_NAME/app Console/cake Reminder