PHPスクリプトで問題が発生し、Apacheエラーログに奇妙な警告が表示されることがあります。
bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.utf8)
bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.utf8)
bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.utf8)
bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.utf8)
以下は、この警告を生成するコードです。(gettextを構成するために使用されます)。
$lang='fr_FR.utf8';
$filename = 'default';
putenv("LC_ALL=$lang");
setlocale(LC_ALL, $lang);
bindtextdomain($filename, './config/locale');
bind_textdomain_codeset($filename, "UTF-8");
textdomain($filename);
奇妙なことに、警告が体系的に表示されません。Apacheを再起動すると、数分間表示されなくなり(つまり、警告なしに何百ものリクエストを処理します)、その後徐々に表示され始めます。
ありがとうございました