没有不值得去解决的问题,也没有不值得去学习的技术!

在 PHP 7.0.22、CakePHP 2.6.4 下,报错:Error: Cannot use ‘String’ as class name as it is reserved 的解决

在 CakePHP 2.6.4 下,报错:Error: Cannot use 'String' as class name as it is reserved

1、在 CakePHP 2.6.4 下,报错:Error: Cannot use ‘String’ as class name as it is reserved,如图1

在 CakePHP 2.6.4 下,报错:Error: Cannot use 'String' as class name as it is reserved
图1

2、String 是PHP 7.x中的保留名称,因此Cake中的String类不能在PHP 7.x上使用,升级到最新的2.x,并改用CakeText,如图2
参考网址:https://book.cakephp.org/2.0/en/appendices/2-7-migration-guide.html#utility ,类String已重命名为CakeText,这解决了与HHVM的兼容性以及与PHP7 +之间的一些冲突。由于兼容性原因,还提供了一个String类。

String 是PHP 7.x中的保留名称,因此Cake中的String类不能在PHP 7.x上使用,升级到最新的2.x,并改用CakeText
图2

3、打开网址:https://github.com/cakephp/cakephp/tags ,选择2.10.3,如图3

打开网址:https://github.com/cakephp/cakephp/tags ,选择2.10.3
图3

4、将应用程序目录中的lib重命名为lib-2.6.4,如图4

将应用程序目录中的lib重命名为lib-2.6.4
图4

5、将下载包中的lib复制至应用程序目录,如图5

将下载包中的lib复制至应用程序目录
图5

6、升级成功后,报错已消失,正常,如图6

升级成功后,报错已消失,正常
图6

关于作者 · 持续学习与技术实践

我是一名拥有 15 年以上开发经验的技术从业者,自 2013 年起持续运营个人技术博客,记录工作与个人项目中遇到的真实问题,以及解决问题过程中的探索、实践和思考。

除了技术写作,我也在持续开发和维护自己的独立项目,探索新技术和新工具在实际场景中的应用。我始终相信,没有不值得去解决的问题,也没有不值得去学习的技术。

如果这篇文章对你有所帮助,欢迎浏览博客中的其他文章,也欢迎交流技术经验与想法。

关于我  ·  GitHub  ·  邮件联系