У меня есть приложение PHP5 / Yii2, развернутое на Nginx с i18n.
У меня есть серверы DEV и PROD, на которых установлен Debian 3.2.73-2 + deb7u2 x86_64.
Конфигурация Yii синхронизирована с репозиторием.
main-local.php не имеет ничего общего с локализацией.
Эта строка:
Yii :: $ app-> formatter-> asCurrency ($ invoiceLine-> сумма, $ invoice-> валюта);
дает разный результат в DEV и PROD:
DEV: 100,00 €
PROD: 100,00 евро
Я не могу найти, какая настройка заставит PROD вести себя так же, как DEV. Я не хочу никакого решения, которое форматирует количество явно в коде yii. Я просто хочу знать, что я должен сделать, чтобы иметь одинаковую конфигурацию на обоих серверах.
Это просто означает, что вам нужно включить расширение интернационализации PHP (иначе intl
) на вашем прод-сервере: http://php.net/manual/en/book.intl.php
Узнайте больше о \yii\i18n\Formatter::asCurrency()
:
Эта функция не требует установки расширения PHP intl для работы, но настоятельно рекомендуется установить его, чтобы получить хорошие результаты форматирования.
Узнайте больше о Установка расширения для интернационализации PHP.
Например, чтобы установить его на Debian:
sudo apt-get install php5-intl
Не забудьте перезапустить ваш веб-сервер после.
Проверьте свои Настройки LC_ *. Возможно, вам не хватает локали в одной из систем. Вы можете попробовать установить locales-all
пакет на обеих системах, чтобы не было проблем, связанных с отсутствующими локалями