2010-12-14 5 views
0

私は最近、CIアプリケーションを介してAmazonのEC2サービスに移行し始めました。テストするために私はubuntuとLAMPスタックのマイクロインスタンスをセットアップします。 PHP、MySQL、HTTPDはすべて美しく動作しています。私が今行っている1つの問題は、アプリケーションを実行すると、ヘルパーが読み込まれないというエラーが表示されることです。特にロードされていないヘルパーは、ヘルパーディレクトリのサブディレクトリにあるものです:/var/www/system/application/helpers/subdirectory/foo_helper.phpCodeigniter App on EC2 - ヘルパーが読み込まれない

ヘルパーはオートロードされています。以下のような彼らが書かれているPHPの設定ファイル:

$autoload['helper'] = array('subdirectory/foo', 'foo2',...); 

は、誰もがこの問題に実行するか、または私はこれを解決するために、私の構成で見て行くことができる場所を上の任意のポインタを持っていますか?

ありがとうございました!

答えて

0

私はこれらの行特に、Loaderクラスのhelper機能のデバッグを試してみた:

システム/ライブラリ/ Loader.php

elseif (file_exists(APPPATH.'helpers/'.$helper.EXT)) 
{ 
    include_once(APPPATH.'helpers/'.$helper.EXT); 
} 

これがヒットされるコードでありますアプリケーションヘルパーを含む場合CodeIgniterに含めるパスを確認してください。

+0

ちょうどStephenさんの答えを追加するには、Loaderがヘルパーの正しいパスを見ているかどうかを確認する良い方法は、IFループの前にecho APPPATH.'helpers /'.$ helper.EXTを追加することです。それは出力します。 – Shivaas

+0

助けてくれてありがとう。すべてのパスが正しいように見える、私はEC2に移動する前に、アプリケーションは私のWindowsのdevのサーバー上で動作していた。だからスペルミスは問題ではないか、開発に現れたはずです。 私がEC2で気づいた別の本当に奇妙なことは、PHP実行エラーが発生したときです。私は行こうとして間違いを修正し、私がリフレッシュするときにも同じエラーが発生します。そのようなEC2にはコードがキャッシュされています。そのようなデバッグが本当にイライラします。 – whobutsb

0

私はWindowsからLinuxに移行したときに、Linuxが大文字と小文字を区別していることを忘れていたことが問題だと思います。だから今私は、私のファイルとフォルダの名前を変更する必要があります。

しかし、これはまだページがキャッシュされているように見えて、私はリフレッシュして自分の変更を見ることができないという問題を解決しません。ページを強制的に更新するたびにサーバーから新しいコピーを取得する方法はありますか?

関連する問題