在挖掘CMSMS论坛后,我发现问题在于我的HTTP服务器和我的数据库时区未同步。然而,新的文章都拿到保存在数据库中,但该代码检索新闻条目
$db = cmsms()->GetDb();
$now = $db->DbTimeStamp(time());
$query = "SELECT mn.*, mnc.news_category_name FROM ".CMS_DB_PREFIX."module_news mn LEFT OUTER JOIN ".CMS_DB_PREFIX."module_news_categories mnc ON mnc.news_category_id = mn.news_category_id WHERE status = 'published' AND ";
$query .= "(".$db->IfNull('start_time',$db->DBTimeStamp(1))." < $now) AND ";
$query .= "((".$db->IfNull('end_time',$db->DBTimeStamp(1))." = ".$db->DBTimeStamp(1).") OR (end_time > $now)) ";
$query .= 'ORDER BY news_date DESC LIMIT 1';
$row = $db->GetRow($query);
使用时间戳功能。因此,在论坛上发掘,我发现这可以通过在每次请求时同步http服务器和数据库服务器来解决。这是通过在您的配置文件中追加$config['set_db_timezone']=1
完成的,如发现旧配置参考here。
希望这会对你有所帮助:)我会做更多的挖掘工作,并会回来这个东西的确切工作。