0

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

我的 Windows 机器:

  • PHP 版本 5.2.9
  • Windows 7 终极版

我的 Linux 机器:

  • PHP 版本 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 为我指明了正确的方向。

4

2 回答 2

0

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

于 2012-04-16T18:48:21.980 回答
0

正如 hakre 在评论中所说以及这里所说的“库类名和文件名以大写字母开头”

我将文件和类更改为以 C 开头,这解决了问题。

当我将项目移动到 Ubuntu 时,我将每个文件名都更改为小写,以防库错误。

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

于 2012-05-08T15:50:14.997 回答