私のLinuxマシンでKohana 2.3.4でクラスが見つかりませんでしたが、すべてWindows上で正常に動作します。Kohana 2.3.4 + LINUX - ErrorException [致命的なエラー]:クラスが見つかりません
私のWindowsマシン:
- PHPバージョン5.2.9
- Windows 7のアルティメットエディション
私のLinuxマシン:
- PHPバージョン5.3.2-1ubuntu4。 15
- Ubuntu 10.04 このエラーを取得
イム:
//controllers/user.php
class User_Core{
...
$fbuser = calafate_orm::factory('fbuser')->where('fbid', $user['id'])->find();
...
}
同じコードは、Windows上で正常に動作:
Fatal error: Class 'calafate_orm' not found in /home/jay/workspace/Facebook_App/application/helpers/user.php on line 514
これは私がモデルを呼び出す方法です。
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{
...
}?>
そして、それはそれだし。
正しい方向に私を向けるhakreに感謝します。
kohanaオートローダーの仕様で、ファイル名を正しく記述する必要があるかどうかを確認してください(ケース!)。 Windowsはすべてを食べ、Linuxは大文字と小文字を区別します。 – hakre
ありがとう、私はPHP 5.3を再インストールしました。いくつかの拡張子を持つ10とこれはもう起こっていない、今私は "致命的なエラー:未定義関数glob()"を呼び出すが、私はそれについての新しい質問を作成すると思います。 – Jay
あなたは自分の好意を持って、システムアドレストレーターがあなたの設定を見直して安全性がすべてスムーズになると考えてください。 'glob()'はあなたが問題を求めているような既存の音ではありません。 – hakre