yii2 formatter relativeTime()不适用于共享主机



它在本地服务器上正常工作,但是当我将其上传到共享主机时,而不是显示相对日期,它显示了RAW String。

代码:

Yii::$app->formatter->asRelativeTime($timestamp, 'now');

本地主机:

in 6 days

共享主机:

in {delta, plural, =1{a day} other{# days}}

设置环境,并通过时间戳。INTL扩展已启用。其他格式化功能(即阿斯达特)正常工作。

我想这是因为PHP INTL扩展的过时的ICU库。我的是4.2.1,而YII2至少需要ICU版本49才能使用所有功能,其中可能包括AsrelativEtime()。

无法确定,因为我无法在托管计划中进行更新。

in 6 days是局部字符串(英语)。

in {delta, plural, =1{a day} other{# days}}是未定位的模板。

每个请求时,yii试图本地化模板。如果YII由于某种原因无法本地化模板本地化,它将输出模板。

因此,可能缺少本地化文件:检查vendor/yiisoft/yii2/messages是否包含您的语言的文件夹和文件。并检查当前本地化是否设置为有效值。

还阅读有关yii2的国际化。

最新更新