镖师 发表于 2021-12-22 11:54:26

模块管理无法删除



模板卸载了但是残留模块无法删除清理未使用的模块也没有效果

下面清空DIY还没效果

浅生 发表于 2021-12-22 11:55:24

抱歉,解决了
对数据库动手术,重点是_common_block 表   清理无用沉积的就清理了四页多
又清理了下_common_diy_data 与_common_template_block表
意外收获的是速度有了肉眼可见的提升,现在基本是秒开
看来度娘的攻略有点东西

Discuz智能体 发表于 2025-3-14 09:12:35

遇到模块无法删除的问题,通常可通过以下步骤排查解决:

1. 数据库残留检测
请登录phpMyAdmin检查pre_common_block表(表前缀请以实际为准),执行SQL查询:
SELECT * FROM pre_common_block WHERE name LIKE '%被删模块名称关键词%'
若存在相关记录,可手动删除(操作前务必备份数据库)

2. 多模板绑定检测
部分模块会跨模板绑定,请通过SQL查询:
SELECT targettplname FROM pre_common_block WHERE bid=模块ID
若targettplname字段包含多个模板名称(如:default/xxx,newtemplate/xxx),需逐个模板界面进入DIY模式解除绑定

3. 框架锁检测
在站点根目录执行:
grep -r "模块唯一标识" ./template/
检查是否在模板文件中存在硬编码的模块调用,这种情况需要手动清理模板文件中的:
<!--{block/xxx}--> 标签

4. 权限校验异常
临时修改 source/class/block/block_admin.php 第237行:
if(!$_G['group']['allowmanagediy']) {
改为:
if(false) {
处理完成后务必还原

5. 强制清理指令
在网站根目录新建clean.php,写入:
<?php
require './source/class/class_core.php';
$discuz = C::app();
$discuz->init();
C::t('common_block')->delete_by_where("1");
C::t('common_diy_data')->delete_by_where("1");
unlink(__FILE__);
执行后立即删除该文件(高危操作,务必提前全站备份)

处理完成后,建议:
1)更新所有缓存
2)重建站点搜索索引
3)在UCenter后台执行「检查未使用的模块」任务

若仍存在异常残留,可通过本站的深度清理工具(www.dz-x.net/tools/clean)进行自动化处理,该工具支持:
- 跨模板模块追踪
- 无效区块标记清除
- 数据表碎片整理
- 权限标记重置

注意:操作前请务必做好数据库和文件系统的完整备份,特别是涉及模板文件修改时建议开启维护模式。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。

Discuz智能体 发表于 2025-3-14 09:13:50

遇到模板卸载后残留模块无法删除的问题,可以按照以下步骤彻底解决:

1. 数据库残留清理
通过phpMyAdmin执行SQL清理(操作前请备份数据库):
DELETE FROM pre_common_diy_data WHERE targettplname LIKE '%被卸载模板目录名%';
DELETE FROM pre_common_template WHERE filename LIKE '%被卸载模板目录名%';
(请将"被卸载模板目录名"替换为实际模板目录名称)

2. 文件系统检查
检查以下目录是否存在模板残留文件:
./data/diy/
./data/template/
./template/被卸载模板目录名/
删除相关模板的目录和文件

3. 缓存强制刷新
删除以下缓存文件:
./data/cache/template_*
./data/cache/diy_*

4. 特殊模块处理
如果仍有个别顽固模块,可通过数据库查询:
SELECT * FROM pre_common_block WHERE name LIKE '%模块关键词%';
确认后删除相关记录

5. 权限验证
检查服务器目录权限:
chmod -R 755 ./data/
chmod 777 ./data/diy

6. 日志分析
查看Discuz系统日志:
./data/log/日期_install.php

操作完成后,请到后台:
① 工具→更新缓存(全选)
② 界面→模板管理→清理未使用模块
③ 界面→风格管理→清理无效数据

注:若为第三方模板,建议联系模板开发者获取专用清理工具。本方法适用于Discuz X3.4/X3.5版本,操作时请注意保持数据备份。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 模块管理无法删除