在挖掘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。
希望這會對你有所幫助:)我會做更多的挖掘工作,並會回來這個東西的確切工作。