【Wordpress】消除Wordpress3.1.x在php5.4.x上的一堆警告

虽然现在主流的观点是Wordpress版本越高越好,配合的php版本也越高越好,不兼容IE6由它去,毕竟Wordpress经常面对国外市场,并没有这么多IE6浏览器进驻。然而,作为兼容IE6的最后一版Wordpress3.1.x,还是具有修改与研究价值的,毕竟IE6过于经典,同时对于一些小打小弄、明说要兼容IE6的项目,扔个Wordpress3.1.x+Dicusz上去,也是一个很好的想法。

Wordpress3.1.x据说在低版本的php,甚至去到php5.3.x都没有问题,但是去到兼容WIN2003、WINXP的最后一版php5.4.x,按照《【Wordpress】Wordpress的下载、配置与Helloworld》(点击打开链接)部署好之后却是一大堆警告。这个警告虽不影响整个Wordpress的运行,但是核心问题是Wordpress3.1.x将这些错误通通输出到网页上,还导致一堆样式错位。

【Wordpress】消除Wordpress3.1.x在php5.4.x上的一堆警告_第1张图片

你不可能修改php.ini配置文件,error_reporting字段改了也没用,display_errors关闭倒是有效,但本地开发不可能关这个嘛,还要判断哪一行的代码写错了嘛!

网上虽有部分错误的解决方法,比如加上$ct = new stdClass();等,但是Wordpress3.1.x在php5.4.x上的警告实在是太多了,貌似怎么搞都搞不完的样子,建议用如下方法解决问题:

直接打开/wp-includes/load.php在第279行加上error_reporting(E_ERROR); 

【Wordpress】消除Wordpress3.1.x在php5.4.x上的一堆警告_第2张图片

刷新之后马上药到病除:

【Wordpress】消除Wordpress3.1.x在php5.4.x上的一堆警告_第3张图片

error_reporting(E_ERROR); 的意思是只显示错误,不显示警告。

这个函数wp_debug_mode()是设置wordpress调试模式的地方,这里的error_reporting设置覆盖了PHP本身的设置。

PHP无非是对服务器资源的封装,提供接口给开发者,而wordpress又是在PHP的基础上又进行了封装,对我们来说更友好了。

然而,可能php升级到5.4.x之后,与低版本的Wordpress3.1.x的某些地方、语法产生冲突,所以导致一堆警告的出现。

你可能感兴趣的:(php)