2016-10-04 7 views
0

ねえ、私は現時点でウェブサイトで作業しており、この警告メッセージを削除したいと考えています。 Googleは私を助けてくれないので、私はここで検索し始めても、まだ解決策が見つかっていません。PHPでsetlocale()がこの警告メッセージを投げる理由は何ですか?

Error: setlocale(): Invalid locale category name LC_MESSAGES, must be one of LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, or LC_TIME

私のコード:

$locale = 'de_DE'; 
setlocale("LC_MESSAGES",$locale); 

私は、LC_ALLまたは私のウェブサイトはもう機能していない上位のソリューションから何かとLC_MESSAGESを交換する場合。

アイデア?

+0

"LC_MESSAGES"の引用符を削除してください –

+1

'LC_MESSAGES'は常にサポートされているとは限りません:システムレスポンスのための_LC_MESSAGES(PHPがlibintlでコンパイルされている場合に利用可能)_。出典:[PHP:setlocale](http://php.net/manual/en/function.setlocale.php) – jhmckimm

+0

@Anant次のエラーは:Notice:定義されていない定数LC_MESSAGESの使用 - 'LC_MESSAGES'と仮定 – xNiceEinz

答えて

0

LC_MESSAGES周辺の引用符を削除します。 setlocale

どうやらLC_MESSAGESのドキュメントを参照してください、この機能を使用する方法の詳細については

$locale = 'de_DE'; 
setlocale(LC_MESSAGES,$locale); 

は常にサポートされていません。

あなたがサポート定数のリストを見つけるために、Linuxディストリビューションを使用している場合は、お使いの端末に

locale 

を実行することができます。

+0

引用符は問題ではありません。とにかくありがとうございました。 – xNiceEinz

+0

次のエラーist: "未定義の定数LC_MESSAGESの使用 - LC_MESSAGES"と仮定した場合 " – xNiceEinz

+0

" setlocale() 'docs state:"システムレスポンス用のLC_MESSAGES(PHPがlibintlでコンパイルされている場合に利用可能) "あなたのPHPセットアップ。 – ShiraNai7

0

LC_MESSAGESは環境変数です。文字列で囲むべきではありません。

代わりに、これは役立つはず

$locale = 'de_DE'; 
setlocale(LC_MESSAGES,$locale); 

を使用しています。そして、あなたの設定にlibintlがあることを確認してください。ウィンドウの場合はlibintl for windows

0

LC_MESSAGESは常にサポートされているとは限りません。システム応答の場合はLC_MESSAGES(PHPがlibintlでコンパイルされている場合に利用可能)。ソース:PHP:setlocale

関連する問題