2012-03-07 11 views
3

私はリモートホストに自分のアプリケーションを配備しましたが、すべて正常に動作します。私はローカルホスト上で自分のコードをテストしようとする。しかし、それはホスト上で動作するコードを変更せずに、私に次のエラーを与える:CakePHP 2.1はlocalhostで動作しません

Fatal error: Class 'AppHelper' not found in [path]

を、私は私のデフォルトのデータソースとしてCakePHPの2.1とMySQLを使用しています。

私はちょうど(認証変更を伴う)、リモート1のように私のローカル・データベースに接続:

public $default = array(
    'datasource' => 'Database/Mysql', 
    'persistent' => false, 
    'host' => 'localhost', 
    'login' => 'root', 
    'password' => '', 
    'database' => 'database', 
    'prefix' => '', 
    'encoding' => 'utf8', 
); 

これは私のローカルホスト上で動作しないのはなぜ? どちらかあなたは2.1 AppHelper要件について知らなかっ:あなた

+0

コントローラーに$ helpers配列のヘルパーが存在する可能性はありますか?またはヘルパーの間違ったルート – Crsr

+0

私のヘルパー配列は、 'public $ helpers = array( 'Html'、 'Form'、 'Session'、 'Js'、 'Text'、 'Time');'のように見えます。とにかく、私のリモートホスト上で同じコードが正常に動作することです。 – linkyndy

+0

あなたのルートを確認してください... remote!= localhost ...それは別の環境です:)とにかく.. AppHelperで拡張されたクラスを持っていますか? (ヘルパーで確認する)もしあれば、ヘルパーでそれを変更してください。 Teoreticaly、このエラーは、ヘルパーフォルダの間違ったルートまたはヘルパーがないという2つの問題によって引き起こされます。 – Crsr

答えて

5

二つの可能なものをありがとうござい http://book.cakephp.org/2.0/en/appendices/2-1-migration-guide.html

か、あなたのクラスの最上部にヘルパーを宣言することを忘れ:

App::uses('AppHelper', 'View/Helper'); 

あなたが単体テストを実行していない場合は、2番目のものはほとんどありません。 私の賭けは最初のものです。

+0

そうです、私はすでにそれを理解しました、質問のコメントに投稿しました:)とにかくありがとう! – linkyndy

+0

ああ、大丈夫です。しかし、あなたはヘルパーファイルにusesステートメントを追加するべきです。そうでなければ、テストケースを破ります。 – mark

+1

私はカスタムヘルパーファイルを持っていません。これは 'AppHelper.php'で追加したものです:' App :: uses( 'Helper'、 'View'); AppHelperクラスヘルパー{} 'を拡張します – linkyndy

関連する問題