Apache在setlocale上随机返回false

时间:2016-06-23 16:19:58

标签: php ubuntu apache2 setlocale

$s = null;
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN')
        var_dump(setlocale(LC_ALL, 'es'));
    else            
        if (!($s = setlocale(LC_ALL, 'es_ES'))) {

            if (!($s = setlocale(LC_ALL, 'es_ES.iso88591'))) {
                if (!($s = setlocale(LC_ALL, 'es_DO.utf8'))) {
                    setlocale(LC_ALL, 'spanish');
                }
            }
        }
    var_dump($s);

在尝试使用strftime显示日期时,我遇到过,有时我用英语,有时用西班牙语。寻找原因,我发现setlocale调用有时返回false而不是我试图设置的语言环境(可用),es_ES。我写了一个测试代码,如果预览尝试失败,尝试设置其他西班牙语语言环境。有关为什么会发生这种情况的任何线索?

Locale shown on some refresh Locale shown in some others

0 个答案:

没有答案