2011-09-13 11 views
0

ローカルマシン(Windows 7)からテストサーバー(Linux Ubuntu Server)にsymfony 1.4プロジェクトをデプロイしました。 私は私のブラウザ(IE、FF ...)を介してこのプロジェクトを開くたびに、私は最も確かに起因する私は、ログ/ frontend_stagingから取得エラーに起因するエラー500を得る:symfony1.4 I18nHelper.phpが見つかりません

"symfony [err] {InvalidArgumentException} Unable to load "I18nHelper.php" helper in: SF_ROOT_DIR/apps/frontend/lib/helper, SF_ROOT_DIR/lib/helper, SF_ROOT_DIR/lib/vendor/symfony/lib/helper." 

ファイルI18NHelper.phpSF_ROOT_DIR/lib/vendor/symfony/lib/helperにありますので、問題はありません。私はすでに名前をつけて遊んでいましたが、Unixシステムのヘルパーズ名の大文字Nに問題があると言われた人もいましたが、これは私の問題をまったく解決しませんでした。

答えて

4

これは非常に厄介な小さなことだ:代わりに<?php use_helper('I18n'); ?>

使用<?php use_helper('I18N'); ?>(最後の「n」の大文字マインド)。

Linuxでは、Windowsと異なり大文字と小文字が区別されます。

+1

私は各テンプレートにヘルパーを追加せず、settings.yml: 'i18n:true'と' standard_helpers:[Partial、Cache、I18n] 'でグローバルに設定しました。 2番目のI18nをI18Nに変更しても何も変更されないので、別のものがなければなりません。 – Sgoettschkes

+0

キャッシュをクリアしましたか?あなたがよく見ていると例外が 'I18nHelper.php'を探していて、' I18NHelper.php'がヘルパーフォルダに存在していたと言いました。(Nの大文字を再度気にしてください)... –

+0

私はエラーメッセージ私がI18NかI18nを書くかどうかにかかわらず、それは常にI18nを探しています。 – Sgoettschkes

1

ヘルパーの名前のスペルが間違っています。最後の "N"は大文字にする必要があります。テンプレートで

それは次のようになります。あなたはsettings.ymlファイルを変更する場合

<?php use_helper('I18N'); ?> 

それは次のようになります。

standard_helpers: [Partial, Cache, I18N] 

あなたはsymfonyのYAMLの設定ファイルであることを心に留めておく必要がありPHPファイルとしてキャッシュされます。キャッシュをクリーニングしないと、変更内容は適用されません(もちろん、環境によって異なります)。試してみてください:

php symfony cc 

コマンドラインから、それを修正する必要があります。

+0

以下のコメントで述べたように、これはまったく役に立ちません。 symfonyはsettings.ymlに書かれているものに関係なく常にI18nを探します。 – Sgoettschkes

+0

_symfony cc_を使ってキャッシュをクリアしましたか? – Przemek

+0

もちろん、私は一歩一歩をたどってから一度も試みました。 – Sgoettschkes

関連する問題