CakePHP 3 transliterator_transliterate PHP关于全新安装的警告

时间:2017-03-22 14:54:51

标签: php cakephp

我使用Composer(他们推荐的方式)安装了CakePHP 3.4.3,我的系统满足所有要求。在安装和基本配置后,所有内容都勾选为绿色。

我已使用bin/bake为1个非常简单的表格烘焙文件,该表格只有5列:id, name, url, created, modified

当我去插入新记录时,它会给出以下错误消息:

警告(2):transliterator_transliterate():无法创建带有ID&amp; quot-Any-Latin的音译器;拉丁-ASCII; [\ u0080- \ u7fff]删除&amp; quot; (transliterator_create:无法打开ICU音译器,ID为&amp; quot; Any-Latin; Latin-ASCII; [\ u0080- \ u7fff] remove&amp; quot;:U_INVALID_ID)[ CORE / src / Utility / Text.php < / b>,行 1070 ]

我已经用Google搜索过但无法找到关于transliterator_transliterate()我无法理解的任何信息(也从未听说过)。

由于源自src/Utility/Text.php的文件是Cake核心的一部分,我觉得深入研究或修改它是不明智的。

为什么会显示此错误,含义是什么,以及如何解决?

如果我在config/app.php中将调试设置切换为false,则会隐藏该消息,但我不会觉得这是一个有效的解决方案,因为它抱怨某事。

正如我所说,我的系统满足他们的所有要求:PHP 7,centOS,Apache并没有在安装过程中出现任何其他错误。

1 个答案:

答案 0 :(得分:1)

解决方案是安装/更新ICU库,它似乎缺失或太旧。

最近,作曲家定义中对库was removed的要求变成了建议,因为它为许多设置过时的人带来了很多麻烦。虽然删除要求并不理想,但核心中只有两种方法需要它的事实似乎是将其转移到建议的理由。

建议说明使得需要此库时非常清楚:

  

intl PHP库,使用Text :: transliterate()或Text :: slug()

然而,它没有就所需版本做出任何陈述,这肯定可以改进。