Cakephp 2.0 如何在cakephp中执行cron作业?
我创建了一个文件cron_scheduler.php,它是wamp/www/projectname/app/webroot/index.php文件的副本,也在同一个文件夹中 我试图运行throw命令提示符,但没有得到任何结果 如何为Cakephp运行cronjob?我不知道 如果有人知道,请帮助我。 提前谢谢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')时遇到了这个问
对于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