按照此处的用户指南说明进行操作后: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/