Discuz教程网

Discuz计划任务:每日用户表优化common_member_archive' doesn't exist

[复制链接]
原创
authicon dly 发表于 2015-3-13 16:26:08 | 显示全部楼层 |阅读模式
在点计划任务:每日用户表优化就出现“common_member_archive' doesn't exist”。这个问题可能会导致其他计划任务也无妨执行

360截图20150313161330262.jpg
搜索网上的教程基本是下边这种解决方法:
备份数据库然后 运行sql语句
  1. DELETE FROM `pre_common_setting` WHERE `skey` = 'membersplit';
复制代码

但是经过 Discuz教程网 排查代码发现这个计划任务的执行并没有判断 membersplit ,所以上述方法无法解决问题


执行错误的代码在:source\class\table\table_common_member.php
  1. if(DB::query($movesql, array('common_member_archive', 'common_member'), false, true)) {
  2.                                 DB::query($deletesql, array('common_member'), false, true);
  3.                         }
  4.                         if(DB::query($movesql, array('common_member_profile_archive', 'common_member_profile'), false, true)) {
  5.                                 DB::query($deletesql, array('common_member_profile'), false, true);
  6.                         }
  7.                         if(DB::query($movesql, array('common_member_field_forum_archive', 'common_member_field_forum'), false, true)) {
  8.                                 DB::query($deletesql, array('common_member_field_forum'), false, true);
  9.                         }
  10.                         if(DB::query($movesql, array('common_member_field_home_archive', 'common_member_field_home'), false, true)) {
  11.                                 DB::query($deletesql, array('common_member_field_home'), false, true);
  12.                         }
  13.                         if(DB::query($movesql, array('common_member_status_archive', 'common_member_status'), false, true)) {
  14.                                 DB::query($deletesql, array('common_member_status'), false, true);
  15.                         }
  16.                         if(DB::query($movesql, array('common_member_count_archive', 'common_member_count'), false, true)) {
  17.                                 DB::query($deletesql, array('common_member_count'), false, true);
  18.                         }
复制代码

计划任务执行时因为 common_member_archive 等表不存在,所以实际解决办法应该是建立这些表,处理方法如下:
访问后台:admin.php?frames=yes&action=membersplit&operation=manage ,点击立即优化

360截图20150313162339682.jpg

OK,问题解决
本教程由Discuz教程网(www.discuz.1314study.com)原创发布,转载请以链接标明出处




上一篇:请问下其中一个版块已经设置游客可以访问,但是访问还是提示:请先登录后才能继续浏览
下一篇:discuz版主 实习版主 审核员 板块管理员设置教程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 12:28

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表