Формат валюты Yii2: разница между localhost и сервером

У меня есть приложение 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. Я просто хочу знать, что я должен сделать, чтобы иметь одинаковую конфигурацию на обоих серверах.

1

Решение

Это просто означает, что вам нужно включить расширение интернационализации PHP (иначе intl) на вашем прод-сервере: http://php.net/manual/en/book.intl.php

Узнайте больше о \yii\i18n\Formatter::asCurrency() :

Эта функция не требует установки расширения PHP intl для работы, но настоятельно рекомендуется установить его, чтобы получить хорошие результаты форматирования.

Узнайте больше о Установка расширения для интернационализации PHP.

Например, чтобы установить его на Debian:

sudo apt-get install php5-intl

Не забудьте перезапустить ваш веб-сервер после.

1

Другие решения

Проверьте свои Настройки LC_ *. Возможно, вам не хватает локали в одной из систем. Вы можете попробовать установить locales-all пакет на обеих системах, чтобы не было проблем, связанных с отсутствующими локалями

0

По вопросам рекламы [email protected]