После переноса сайта на новый сервер, при выводе дат перестала работать русская локаль. Проверку локали в php можно сделать примерно так:
setlocale(LC_ALL, “ru_RU.utf8″ );
echo strftime (‘%A, %d %B %G’);
Если видим русскую дату, то всё хорошо. Но в моем случае дата выводилась по-английски.
Причина - на сервере не установлена локаль. Список установленных локалей можно проверить командой locale -a, или если нужно узнать есть ли русская локаль так:
locale –a | grep ru
Если локалей нет, то нужно установить. В моем случае это был Debian.
Это командой устанавливаем пакеты лосалей
#aptitude install locales
Далее выбираем и устанавливаем нужные
#dpkg-reconfigure locales
Я устанавливаю все локали, по умолчанию выбираю en_US.utf8
Если нужно глобально включить русскую локаль, то это можно сделать в файле php.ini в секции [intl]
intl.default_locale = ru_RU.utf8
но лучше для каждого сайта задать переменную севрера через .htaccess
SetEnv LC_ALL ru_RU.utf8