cron守护进程没有得到正确的控制器

时间:2013-04-10 05:40:51

标签: php codeigniter cron

我几乎成功地在我的服务器上设置了一个Cron作业,但我无法调用正确的控制器。

作业:

  */15 * * * * php fullpath/index.php cron  

结果:我得到了默认控制器的HTML输出,而不是我的Cron控制器。

作业:

  */15 * * * * php fullpath/index.php cron index  

结果:我得到了默认控制器的HTML输出,而不是我的Cron控制器。

有人可以建议我做错了吗?

注意:我不想使用wgetcurl

1 个答案:

答案 0 :(得分:0)

创建index.php的副本,并将其命名为cli.php。

在cli.php的开头添加

#!/usr/local/bin/php
<?php

/* we don't need to be limited by...normal limitations */
set_time_limit(0);
ini_set('memory_limit', '256M');

/* make sure this isn't being called by a web browser */
if (isset($_SERVER['REMOTE_ADDR'])) die('Permission denied.');

/* set some constants */
define('CMD', 1);

/* manually set the URI path based on command line arguments... */
unset($argv[0]); /* ...but not the first one */
$_SERVER['QUERY_STRING'] =  $_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'] = '/' . implode('/', $argv) . '/';

然后更改你的cron来调用cli.php而不是index.php。