首页 > 网络编程 > PHP编程 > php实例 > thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法
作者:小松博客
这篇文章主要介绍了thinkphp在php7环境下提示Cannot use ‘String’ as class name as it is reserved的解决方法,涉及thinkPHP针对php7关键字判定的相关底层代码修改技巧,需要的朋友可以参考下
本文实例讲述了thinkphp在php7环境下提示Cannot use ‘String' as class name as it is reserved的解决方法。分享给大家供大家参考,具体如下:
我有一网站之前用php7运行thinkphp没有什么问题,但是最近发现开启验证码的时候发现有错误
Cannot use 'String' as class name as it is reserved
在google baidu搜索了一下还是没有解决方法
于是自己动手解决,看来我是第一个分享出来的人
原因:
有一个类用了string类名,php7把String定为关键字
解决方法:
文件ThinkPHP\Library\Org\Util\Image.class.php
找到:
import('ORG.Util.String'); $code = String::rand_string($length, 4);
修改成:
import('ORG.Util.Stringnew'); $code = Stringnew::rand_string($length, 4);
复制文件:
ThinkPHP\Library\Org\Util\String.class.php
保存成:
ThinkPHP\Library\Org\Util\Stringnew.class.php
打开Stringnew.class.php:
class String {
修改成:
class Stringnew {
放上去验证码出来了,我搜索了一下没有其他地方引用,这个问题解决了
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。