Yii2货币格式:本地主机和服务器之间的区别
Yii2 currency format : difference between localhost and server
我在 Nginx 上部署了 PHP5/Yii2 应用程序,并带有国际化。
我有 DEV 和 PROD 服务器 运行 Debian 3.2.73-2+deb7u2 x86_64.
Yii 配置已重新同步,环境特定设置在
main-local.php 与本地化无关。
这一行:
Yii::$app->formatter->asCurrency($invoiceLine->amount,$invoice->currency);
在 DEV 和 PROD 中给出不同的结果:
开发:100,00 欧元
产品:100,00 欧元
我找不到什么设置可以使 PROD 的行为与 DEV 相同。我不想要任何在 yii 代码中明确格式化数量的解决方案。我只想知道我必须做什么才能在两台服务器上拥有相同的配置。
检查你的 LC_* settings。也许您在其中一个系统上缺少语言环境。您可以尝试在两个系统上安装 locales-all
软件包,以免出现与缺少语言环境相关的问题
这只是意味着您需要在您的产品服务器上启用 PHP 国际化扩展(又名 intl
):http://php.net/manual/en/book.intl.php
阅读更多关于 \yii\i18n\Formatter::asCurrency()
的信息:
This function does not require the PHP intl extension to be installed to work, but it is highly recommended to install it to get good formatting results.
详细了解 PHP internationalization extension installation。
例如,要在 Debian 上安装它:
sudo apt-get install php5-intl
之后不要忘记重新启动您的网络服务器。
我在 Nginx 上部署了 PHP5/Yii2 应用程序,并带有国际化。 我有 DEV 和 PROD 服务器 运行 Debian 3.2.73-2+deb7u2 x86_64.
Yii 配置已重新同步,环境特定设置在 main-local.php 与本地化无关。
这一行: Yii::$app->formatter->asCurrency($invoiceLine->amount,$invoice->currency); 在 DEV 和 PROD 中给出不同的结果: 开发:100,00 欧元 产品:100,00 欧元
我找不到什么设置可以使 PROD 的行为与 DEV 相同。我不想要任何在 yii 代码中明确格式化数量的解决方案。我只想知道我必须做什么才能在两台服务器上拥有相同的配置。
检查你的 LC_* settings。也许您在其中一个系统上缺少语言环境。您可以尝试在两个系统上安装 locales-all
软件包,以免出现与缺少语言环境相关的问题
这只是意味着您需要在您的产品服务器上启用 PHP 国际化扩展(又名 intl
):http://php.net/manual/en/book.intl.php
阅读更多关于 \yii\i18n\Formatter::asCurrency()
的信息:
This function does not require the PHP intl extension to be installed to work, but it is highly recommended to install it to get good formatting results.
详细了解 PHP internationalization extension installation。
例如,要在 Debian 上安装它:
sudo apt-get install php5-intl
之后不要忘记重新启动您的网络服务器。