php - Codeigniter 命令行错误 - PHP fatal error : Class 'CI_Controller' not found

标签 php codeigniter command-line

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

我的 Controller 位于/var/www/mysite/application/controllers/

    class Tools extends CI_Controller {

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

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

http://mysite/tools/message/ben

并且该函数正确输出“Hello ben”

从终端我应该能够运行:

$ php index.php tools message "Ben"

我的终端应该打印:“Hello Ben”

但是我得到以下错误:

PHP Fatal error: Class 'CI_Controller' not found in /var/www/mysite/system/core/CodeIgniter.php on line 233

我的服务器非常标准; Ubuntu 灯。 Codeigniter 也很标准,我可以通过命令行运行非 CI 脚本没有问题

我的 PHP 二进制文件仅位于/usr/bin/php <-- This post建议直接从 usr/bin/php 运行 CI 的问题,但是我没有运行共享的 PHP 服务,而且我不明白为什么这会对 PHP 执行 CI 脚本的方式产生影响。

任何帮助或只是关于如何调试的指示将不胜感激。

提前致谢。

最佳答案

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

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

$config['log_threshold'] = 0;

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

如果有人能解释为什么 CI 仅在 CLI PHP 上显示此错误 - 可能会帮助其他遇到此问题并需要通过错误登录解决此问题的人。

关于php - Codeigniter 命令行错误 - PHP fatal error : Class 'CI_Controller' not found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15207937/

相关文章:

php - 插入数据并在列中添加前一行数据

php - Codeigniter,域到网站的某个区域

command-line - Windows CMD : Get relative path from absolute path

command-line - Phing exec 命令设置环境变量

php - 突出显示在 Elasticsearch 和 PHP 中不起作用

php - Symfony2 包内路由

php - 可以从多个表单将多个数据插入到单个表中吗?

command-line - 如何从命令行将参数传递给 Makefile?

mysql - php只获取今天的文章?

javascript - 使用 jQuery 重新填写 codeigniter 表单