【发布时间】:2013-01-08 00:22:40
【问题描述】:
我正在尝试创建一个 CRON 作业,该作业指向我构建的 Code Igniter 系统中文件内的一个函数。 我已经在我的 CPanel 上创建了 CRON 作业,并使用根目录下的文件中的简单邮件 php 函数对其进行了测试,并且可以正常工作,但是,我希望将 CRON 作业指向我的 MVC 框架中的某个位置,并且对于一些原因这似乎不起作用。
这是在我的 CPanel 上设置的 CRON 作业:
0 0 * * 1 wget -q -O /dev/null http://www.urlhere.co.uk/index.php/cron_event/send_reminders
这是我希望运行的控制器。它的位置在system/controllers/cron_event.php:
<?php
class Cron extends Controller {
function Cron_event()
{
parent::Controller();
}
/**
* The index method just displays an access denied message, as we don't support viewing this module in the browser.
*/
function index()
{
$this->send_reminders();
$this->load->view('themes/base/header', array('title'=>"Access Denied"));
$this->load->view('cron/access_denied');
$this->load->view('themes/base/footer');
}
/**
* Updates the PR Online Calendar by sending out email notifications for events that have not yet had them sent out.
*/
public function send_reminders() {
$to = 'jamesholman@urlgoeshere.co.uk';
$from = 'bigwavetest';
$message = 'test';
mail($to, $from, $message);
}
}
?>
当我指向这个控制器时,CRON 作业停止工作。
我有一种感觉,因为我没有包含和需要 Code Igniter 框架文件,但我不确定。
有人对为什么这不起作用有任何想法吗?
提前致谢!
【问题讨论】:
-
应用中是否实现了访问控制或登录机制?
-
啊,是的,我没想到。是的,实现了一个登录系统。这会导致问题吗?
-
您必须从登录机制中排除 Cron_event 控制器。您无法使用 cron 登录。
-
好的,谢谢。我现在可以工作了! :)
标签: php codeigniter cron