今天在本地安装了wordpress环境,用的是最新的php5.4版本,wordpress还是用的和服务器上一样的旧的3.2.1。安装完毕后,导入数据,打开首页,出现了Warning: Creating default object from empty value in D:\tiandiyoyo\website\wp-includes\user.php on line 660错误。
查看user.php的第660行:
if ( !is_multisite() ) { $blog_id = get_current_blog_id(); $blogs = array(); $blogs[ $blog_id ]->userblog_id = $blog_id; //660行 $blogs[ $blog_id ]->blogname = get_option('blogname'); $blogs[ $blog_id ]->domain = ''; $blogs[ $blog_id ]->path = ''; $blogs[ $blog_id ]->site_id = 1; $blogs[ $blog_id ]->siteurl = get_option('siteurl'); return $blogs; }
搜索资料得到原因是array里的object没有被初始化。解决办法是在这之前添加一行代码:
$blogs[ $blog_id ] = new stdClass();
原文见http://core.trac.wordpress.org/ticket/16836
事后,我猜想会不会是由于自己wp版本过低导致的,说不定3.2.1之后的wp已经添加了此行,希望对同样出现此错误的博主有些帮助。
文章评分4次,平均分3.8:★★★☆☆
我用的是3.5.1版本,没遇到过的说。。
那可能就是我猜测的,最新的WP版本已经加上修正了。