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

hakre がコメントで述べたように、ここに記載されているように、 「ライブラリのクラス名とファイル名は大文字で始まります」

ファイルとクラスを C で開始するように変更したところ、問題が解決しました。

プロジェクトを Ubuntu に移動したとき、間違っていたライブラリの場合、すべてのファイル名を小文字に変更しました。

すべてに感謝します。これが将来誰かに役立つことを願っています。

于 2012-05-08T15:50:14.997 に答える
0

Facebook_Model で Facebook の代わりに Model を拡張する必要があります。

于 2012-04-16T18:48:21.980 に答える