CakePHP 3 Transiterator_Transiterate PHP清洁安装警告

CakePHP 3 Transiterator_Transiterate PHP清洁安装警告,php,cakephp,Php,Cakephp,我已经使用Composer(他们推荐的方式)安装了CakePHP 3.4.3,我的系统满足所有要求。安装和基本配置完成后,所有内容都勾选为绿色 我使用bin/bake为一个非常简单的表烘焙文件,该表只有5列:id、name、url、created、modified 当我插入一条新记录时,会显示以下错误消息: 警告(2):Transiterator_-Transiterate():无法创建ID为“Any Latin;Latin ASCII;[\u0080-\u7fff]remove”的音译器(音译

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

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

当我插入一条新记录时,会显示以下错误消息:

警告(2):Transiterator_-Transiterate():无法创建ID为“Any Latin;Latin ASCII;[\u0080-\u7fff]remove”的音译器(音译器_-create:无法打开ID为“Any Latin;Latin ASCII;[\u0080-\u7fff]remove:U_无效的_-ID)[CORE/src/Utility/Text.php,第1070行]

我在谷歌上搜索过这篇文章,但找不到任何我能理解的关于
transliterator\u transliterate()
(我也从未听说过这篇文章)

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

为什么会显示此错误,它意味着什么,我如何修复它

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


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

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

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

建议说明清楚地说明了何时需要此库:

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


但是,它没有对所需的版本做出任何声明,这肯定是可以改进的。

这个错误是由这个php函数引发的:我认为您正面临这个问题@Oliver谢谢,我已经读过了,但不认为提供了任何解决方案。如果某些软件包需要更新,我不确定为什么安装过程没有报告就可以工作,特别是因为它使用Composer来管理依赖关系。最近的问题变成了一个建议(不太支持这个决定),因为它造成了很多麻烦(有这么多过时的设置:/)。那么解决方案是什么?即使已从
composer.json
中删除该软件包,也要安装该软件包吗?我也不是这方面的粉丝,如果蛋糕需要它工作,为什么它作为一个依赖项被删除了?!解决方案是安装/更新库,是的。正如我所说的,我不认为这不再是一个要求,但建议的描述清楚地表明了何时需要这个库:“intl PHP库,使用Text::transiterate()或Text::slug()”。事实上,只有这两种方法需要它,这似乎是将它转移到建议的理由。