代码拉取完成,页面将自动刷新
对 common_stat 插入统计数据时几率性报错 Duplicate entry for key 'PRIMARY'
在 #I1F1K7:我不确定这个是不是bug,还没来得及效验discuz的文件。 中由 @cqwq 提出:
每天到零点第一次访问,报错,提示一个时间值不能重复插入,刷新就不报了,每天如此。
更新程序到 Discuz! X3.4 最新版本
此处的清空指令 C::t('common_statuser')->clear_by_daytime($nowdaytime);
是否应考虑割接到计划任务体系,避免调用功能时反复判断数据表是否为空。
关于 @cqwq 提到的并发问题,再提供一个测试性方案。使用 MySQL 提供的 ON DUPLICATE KEY UPDATE 处理此并发问题。
https://gitee.com/Discuz/DiscuzX/blob/master/upload/source/class/table/table_common_stat.php#L44
DB::insert($this->_table, array('daytime'=>$nowdaytime, $type=>$num));
改为
DB::query("INSERT INTO ".DB::table($this->_table)." (daytime, $type) VALUES ($nowdaytime, $num) ON DUPLICATE KEY UPDATE $type = $type + $num");
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
测试了这段时间,按提供的方法修改后,没再出现报错
登录 后才可以发表评论