我决定搬到dreamhost,因为mediatemple对我来说太贵了。我把所有东西都移了过来但是在论坛插件中出了一个错误。我从5.4移动到PHP 5.6快速cgi。当我改为php 5.5时,它仍然是相同的报告
在论坛页面上方出现了一个php错误:
警告:从第2094行wp-content/plugins/simple-forum/library/sf-database.php
的空值创建默认对象
引用的代码段是:
# sf_filter_new_post_list()
#
# Support: Returns filtered list that current user has permissions to
# $recordset: Full list of forum/topics
# ------------------------------------------------------------------
function sf_filter_new_post_list($recordset)
{
if(!$recordset) return '';
$rlist = array();
$x = 0;
foreach($recordset as $record)
{
$rlist[$x]->forum_id=$record->forum_id;
$rlist[$x]->topic_id=$record->topic_id;
$x++;
}
return $rlist;
}
确切的行说:
$rlist[$x]->forum_id=$record->forum_id;
如何解决这个问题?任何人都可以帮忙。
答案 0 :(得分:1)
如PHP 5.4中此问题Creating default object from empty value in PHP?中所述,当$rlist[$x]
为空或未初始化时,会触发错误。
因此尝试使用空的StdClass实例初始化数组元素,而不是向对象添加值
foreach($recordset as $record){
$rlist[$x] = new StdClass();
$rlist[$x]->forum_id = $record->forum_id;
$rlist[$x]->topic_id = $record->topic_id;
$x++;
}