Yii2 格式化程序 relativeTime() 不适用于共享主机

Yii2 formatter relativeTime() is not working on shared host

它在本地服务器上工作正常,但是当我将它上传到共享主机时,它没有显示相对日期,而是显示原始字符串。

代码:

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

本地主机:

in 6 days

共享主机:

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

已设置区域设置并正在传递时间戳。国际扩展已启用。其他格式化程序函数(即 asDate)工作正常。

in 6 days 是本地化字符串(英语)。

in {delta, plural, =1{a day} other{# days}} 是未本地化的模板。

对于每个请求,Yii 都会尝试本地化模板。如果 Yii 由于某种原因无法本地化模板,它将输出模板。

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

另请参阅 internationalization with Yii2

我猜这是因为 PHP 国际扩展的 ICU 库过时了。 我的是 4.2.1,而 yii2 requires at least ICU version 49 to be able to use all the features,其中可能包括 asRelativeTime()。

不能肯定,因为我无法在我的托管计划中更新它。