locale -a отличается на сервере и PHP

Я хотел бы использовать setlocale с "es_ES". Он возвращает false, но другие языки, такие как "de_DE", работают нормально.

Поэтому я проверил «locale -a» на сервере (Red Hat 4.4.6-4). Это в списке. Когда я использую следующий код в PHP, его нет в списке:

<?php echo system('locale -a'); ?>

Он возвращает другие результаты, чем сервер. Любые идеи, как добавить es для использования локали в PHP?

Я использую Apache 2.2.15.


person Stefan Wienströer    schedule 16.12.2015    source источник
comment
Пожалуйста, укажите ваш веб-сервер.   -  person bni i    schedule 16.12.2015
comment
Apache 2.2.15 на Red Hat 4.4.6-4   -  person Stefan Wienströer    schedule 16.12.2015
comment
Я использовал следующий обходной путь: stackoverflow.com/questions/15541747/   -  person Stefan Wienströer    schedule 17.12.2015


Ответы (1)


Сначала попробуйте еще раз после перезапуска сервера apache2!!

Я использую апач на убунту. Я могу указать это в файле /etc/apache2/envvars вместе с PATH и другими переменными среды.

Вам следует перезагрузить файлы конфигурации HTTP-сервера. (например, служба перезагрузки apache2)

person bni i    schedule 16.12.2015
comment
Вы можете указать установленные локали в переменной окружения...!? - person deceze♦; 16.12.2015
comment
Я думаю, что это не рекомендуется, но это не имело значения. Дело в том, чтобы перейти на другую установленную локаль. - person bni i; 16.12.2015
comment
Ну нет, серьезно: если есть переменная окружения, которая может изменить вывод locale -a, обязательно сообщите нам об этом подробно. - person deceze♦; 16.12.2015
comment
$ cat /etc/apache2/envvars ... ## Языковой стандарт, используемый некоторыми модулями, такими как mod_dav export LANG=C ## Раскомментируйте следующую строку, чтобы вместо этого использовать системный языковой стандарт по умолчанию: #. /etc/default/locale экспорт ЯЗЫК - person bni i; 13.07.2016