2012-04-13 70 views
0

我在Linux机器上得到Kohana 2.3.4中的Class not found错误,但在Windows上运行正常。Kohana 2.3.4 + LINUX - ErrorException [致命错误]:找不到类

我的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(); 
    } 

} 
?> 

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

会发生什么情况?

在此先感谢

FIXED

图书馆类名和文件名称以大写字母。

更名图书馆Calafate_orm和编辑类的声明是这样的:

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

就是这样。

感谢您的指点,我正确的方向。

+0

检查kohana自动加载程序的规范如何正确编写文件名(案例!)。 Windows会吃掉一切,Linux是区分大小写的。 – hakre 2012-04-13 13:24:44

+0

谢谢,我已经重新安装了php 5.3。10有一些扩展,这不再发生,现在我得到了“致命错误:调用未定义的函数glob()”,但我想我会创建一个新的问题。 – Jay 2012-04-16 19:58:56

+0

你应该为自己做个忙,并考虑让系统管理员检查你的设置,这样你就可以保证一切安全。 'glob()'不存在你听到过的问题。 – hakre 2012-04-16 20:03:15

回答

0

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

0

由于hakre在评论中说,当它的既定here“Library类名和文件名以大写字母开头”

我改变了文件和类开始使用C和固定的问题。

当我将项目移至Ubuntu时,我将每个文件名都更改为小写,对于错误的库。

感谢所有人,我希望这可以帮助任何人在未来。

相关问题