WPtouch是显示移动端Wordpress的插件,挺好用的。Wordpress最近都用上了PHP7,但是这一用WPtouch就报错!报啥错呢:
Warning: count(): Parameter must be an array or an object that implements Countable
后来一翻文件,发现是count方法在PHP7中严格使用,传入数据必须是数组,不是数组就报错,之前版本不是数组就跳过。
解决方法:
- 把版本降低到PHP5,但是将整个Wordpress降低PHP版本会影响运行速度。
- 更改count用法:
增加一个if语句,如果这个参数是数组,就使用count。如果不是,就跳过。但是WPTouch中使用这个方法的地方很多,逐一修改不现实。
于是我找了一个两全其美的办法:将WPTouch所有核心PHP文件的编译器换成PHP5.6,其他PHP文件依旧是PHP7
我用的是Windows + IIS8,设置方法很简单,处理程序映射中添加一个模块映射就行,看图:
按图上操作,注意要安装CGI和下载php5
再看就已经可以用了