我在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代码中明确格式化的解决方案。我只想知道在两台服务器上进行相同配置必须做些什么。
答案 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
软件包,以避免与缺少的区域设置相关的问题