今天遇到一个小项目,使用的版本是tp3.2.3,按官方说明PHP5.3以上版本(注意:PHP5.3dev版本和PHP6均不支持).但是在本地iis php5.3.29 mysql启动调试时报错了。开启Thinkphp3.2.3调试模式后发现位置大概是PHP Parse error: syntax error, unexpected '[' in [项目路径]ThinkPHPLibraryThinkDbDriver.class.php on line 775. 这是怎么回事!原来tp2.2.3经过多次升级已经有了php5.4才有的语法
1.return reset($result)[$field];
2.$info=[];
详情请看代码
https://github.com/liu21st/thinkphp/blob/master/ThinkPHP/Library/Think/Model/MongoModel.class.php#L312
https://github.com/liu21st/thinkphp/blob/master/ThinkPHP/Library/Think/Db/Driver/Pgsql.class.php#L42
为此还折腾了半天,最后还是使用了php5.4 iis mysql才成功开始调试! 殷雯小编建议服务器要么使用php5.2.17要么php5.6以上, 现在tp3.2.3有点尴尬。下有tp3.1.3上有tp5.0。 这算是tp3.2.3的一个坑吧,小伙伴们不要再入坑了!