Kohana 2.3.4 + LINUX - ErrorException [致命错误]:找不到类

时间:2012-04-13 13:22:17

标签: php linux kohana classnotfoundexception

我在Linux机器上遇到Kohana 2.3.4中的Class not found错误,但在Windows上运行正常。

我的Windows机器:

  • PHP Version 5.2.9
  • Windows 7旗舰版

我的Linux机器:

  • PHP Version 5.3.2-1ubuntu4.15
  • Ubuntu 10.04

我收到此错误:

Fatal error: Class 'calafate_orm' not found in /home/jay/workspace/Facebook_App/application/helpers/user.php on line 514

这就是我称之为模型的方式:

   //controllers/user.php
   class User_Core{

        ...

       $fbuser = calafate_orm::factory('fbuser')->where('fbid', $user['id'])->find();

        ...
    }

相同的代码在Windows上运行良好。

calafate_orm是这样的:

//libraries/calafate_orm.php 
    <?php
abstract class calafate_orm_core extends ORM{
    protected $db = 'calafate';
    protected $table_names_plural = false;

    public function save(){
        $field          = ($this->id)?'modification_date':'creation_date';
        $this->$field   = date('Y-m-d H:i:s');
        parent::save();
    }

}
?>

我的所有文件名都是小写的。

可能会发生什么?

提前致谢

固定

库类名和文件名以大写字母开头。

将库重命名为Calafate_orm并编辑类声明:

<?php
abstract class Calafate_orm_core extends ORM{
...
}?>

就是这样。

感谢hakre指出我正确的方向。

2 个答案:

答案 0 :(得分:0)

你应该在Facebook_Model中扩展Model而不是Facebook。

答案 1 :(得分:0)

正如hakre在评论中所说的那样here“图书馆类名和文件名以大写字母开头”

我将文件和类更改为以C开头并修复了问题。

当我将项目移动到Ubuntu时,我将每个文件名更改为小写,如果库错误的话。

感谢所有人,我希望这对未来的任何人都有帮助。