Php Codeigniter应用程序在CLI中返回空白输出

Php Codeigniter应用程序在CLI中返回空白输出,php,codeigniter,command-line-interface,Php,Codeigniter,Command Line Interface,我正在设置我的cron作业控制器,它只在CLI中运行,我还没有开始构建任何东西,只是在CI示例的测试阶段。但是,当运行它时,我没有得到任何输出或其他任何东西,只有一行新行,这是我运行的命令: root@serv$ php /var/www/ci/index.php tools message root@serv 正如您在第二行中看到的,我没有得到任何输出,只是一个运行命令的新行,但我不明白为什么,我无法调试它。该代码包含以下内容: <?php class Tools extends CI

我正在设置我的cron作业控制器,它只在CLI中运行,我还没有开始构建任何东西,只是在CI示例的测试阶段。但是,当运行它时,我没有得到任何输出或其他任何东西,只有一行新行,这是我运行的命令:

root@serv$ php /var/www/ci/index.php tools message
root@serv
正如您在第二行中看到的,我没有得到任何输出,只是一个运行命令的新行,但我不明白为什么,我无法调试它。该代码包含以下内容:

<?php
class Tools extends CI_Controller {

    public function message($to = 'World')
    {
        echo "Hello {$to}!".PHP_EOL;
    }
}
?>

在我的配置文件中,
$config['uri_protocol']
被设置为
AUTO
,因此这似乎不是问题所在

我如何调试这个?我可能需要处理哪些选项


我还有
display\u errors
error\u reporting
on
E\u ALL
这可能是一个愚蠢的建议,但不妨试一试@lolwut,如果不使用“echo”,也许你必须“返回”输出呢?

我想你可以在

通过使用参数
controller
function
调用cron.php,然后定义
cron\u CI\u INDEX
以引用主
INDEX.php
的文件路径

比如说,

php /var/www/ci/cron.php --run=/tools/message

我有一个遵循本指南的应用程序:运行(并生成输出)。当我这样做时,CI仅为1.7.2,但它可能仍然有效

我发现了问题,这是一个
重定向('domain.com')的问题;退出我在一个自动加载的库上,因为它与数据库中的域相匹配,这样CLI在检测时就不会为域提供服务,因此我包含了一个带有退出的
重定向('domain.com')
,这就是为什么我看不到任何输出的原因。

(CodeIgniter 2.2.0)

在/application/config/routes.php中添加路由

为了

<?php
class Cron extends CI_Controller
{    
    public function process_dumps()
    {
        echo "Processing dumps..." . PHP_EOL;
    }
}
?>

没有这一行,CLI上就没有输出

我在为codeigniter玩w/cli时也遇到了这个问题。我花了一段时间来解决这个问题,发现我忘了在我的登录模型上除了我的控制器之外,它运行一个
重定向
函数。

好吧,它可以工作-我只是用一个基本的CI设置测试了它(对config.php没有更改)。@Stealthynija no,CodeIgniter的CLI语法是
php index.php controller method params
@Repox这很奇怪,但我不知道我对CI配置所做的更改需要注意什么,这些更改会影响CLI应用程序。我不明白为什么它不返回任何输出?任何日志文件输出?看起来很奇怪,你什么也得不到…@landons不,没有记录任何类型的错误。不,这没有帮助-仍然是同样的效果。这也没有帮助:(我仍然没有生成输出,也没有记录。为我节省了大约4个小时的咒骂试图理解为什么,我欠你的
$route['cron/process_dumps'] = 'cron/process_dumps'