Yii2货币格式:localhost和server之间的区别

时间:2016-02-25 15:41:54

标签: php debian yii2 locale currency-formatting

我在Nginx上部署了PHP5 / Yii2应用程序,并安装了i18n。 我有DEV和PROD服务器都运行Debian 3.2.73-2 + deb7u2 x86_64。

Yii配置是repo-synced,envirnoment特定设置 main-local.php与本地化没有任何关系。

这一行: YII :: $ APP-> formatter-> asCurrency($ invoiceLine->量,$ invoice->货币); 在DEV和PROD中给出不同的结果: DEV:100,00€ PROD:100,00欧元

我无法找到什么设置会使PROD的行为与DEV相同。我不想要任何在yii代码中明确格式化的解决方案。我只想知道在两台服务器上进行相同配置必须做些什么。

2 个答案:

答案 0 :(得分:1)

这只是意味着您需要在prod服务器上启用PHP国际化扩展(aka intl):http://php.net/manual/en/book.intl.php

详细了解\yii\i18n\Formatter::asCurrency()

  

此函数不需要安装PHP intl扩展即可运行,但强烈建议安装它以获得良好的格式化结果。

详细了解PHP internationalization extension installation

例如,要在Debian上安装它:

sudo apt-get install php5-intl

请勿忘记在重新启动网络服务器之后。

答案 1 :(得分:0)

检查LC_* settings。也许你错过了其中一个系统的语言环境。您可以尝试在两个系统上安装locales-all软件包,以避免与缺少的区域设置相关的问题