Codeigniter命令行错误 - PHP致命错误:找不到类"CI_Controller"

Mij*_*ahn 5 php command-line codeigniter

按照此处的用户指南说明操作后:http://ellislab.com/codeigniter/user-guide/general/cli.html我无法通过命令行运行测试脚本.

我的控制器位于/ var/www/mysite/application/controllers /

    class Tools extends CI_Controller {

    public function message($to = 'World')
    {
        echo "Hello {$to}!".PHP_EOL;
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的浏览器中,我可以访问

http://mysite/tools/message/ben
Run Code Online (Sandbox Code Playgroud)

并且函数正确输出"Hello ben"

从终端我应该能够运行:

$ php index.php工具信息"Ben"

我的终端应该打印:"Hello Ben"

但是我收到以下错误:

PHP致命错误:类"是CI_Controller"在/var/www/mysite/system/core/CodeIgniter.php未发现行233

我的服务器很标准; ubuntu LAMP.Codeigniter也非常标准,我通过命令行运行非CI脚本没有问题

我的PHP二进制文件只位于/ usr/bin/php < - 这篇文章提示直接从usr/bin/php运行CI的问题,但是我没有运行共享的PHP服务,我不明白为什么这个会对PHP执行CI脚本的方式产生影响.

任何帮助或仅仅是如何调试这一点的指示将不胜感激.

提前致谢.

Mij*_*ahn 12

解决了!(部分)问题是CodeIgniters错误记录.

在application/config/config.php中,我修改了以下config属性:

$config['log_threshold'] = 0;
Run Code Online (Sandbox Code Playgroud)

这会禁用日志记录,并允许$ php index.php执行.

如果任何人都可以解释为什么CI只在CLI上显示此错误 - 可能会帮助其他有此问题且需要解决错误登录的人.


小智 7

要解决错误"Class'CI_Controller'not found",请尝试Application -> Config -> database.php检查数据库名称.