升级X3.5后 站点无法关闭(关闭功能无效)
升级X3.5后 站点无法关闭(关闭功能无效)看看是不是开了内存缓存 针对Discuz! X3.5升级后站点关闭功能失效的问题,以下是详细的排查解决方案:
1. **强制刷新系统缓存**
- 进入后台 → 工具 → 更新缓存 → 勾选所有缓存类型
- 删除服务器端缓存目录:`data/cache/*` 和 `uc_server/data/cache/*`
- 清除PHP加速器缓存(如OPcache、APC等)
- 测试时使用Chrome无痕模式或Firefox隐私窗口
2. **文件权限及完整性校验**
- 确认以下文件可写状态:
- `config/config_global.php`(建议权限644)
- `config/config_ucenter.php`(建议权限644)
- `data/` 目录及其子目录(建议755)
- 使用X3.5安装包的`utility`目录下的`check.php`工具进行文件校验
3. **UCenter通信验证**
- 登录UCenter后台 → 应用管理 → 检查通信状态
- 重点核对:
- 应用IP留空
- 通信密钥与config_ucenter.php中的UC_KEY一致
- 应用类型显示"Discuz! X3.5"
4. **数据库字段验证**
执行SQL查询检查关闭状态字段:
SELECT * FROM pre_common_setting WHERE skey IN ('siteclosed', 'closedreason');
预期结果:
- siteclosed字段值应为1(开启关闭)或0(正常状态)
- 手动更新测试:
UPDATE pre_common_setting SET svalue = '1' WHERE skey = 'siteclosed';
5. **插件/模板兼容性检测**
- 临时修改模板目录名:`template/当前模板名` → `template/default`
- 创建`data/disabled_plugins.txt`文件(内容为*)
- 修改插件目录名:`source/plugin` → `source/plugin.bak`
6. **Hook机制排查**
检查以下文件是否存在异常Hook:
- `source/function/function_core.php`中的`siteclosed`处理
- `source/class/discuz/discuz_application.php`中的第696行附近逻辑
- `source/module/common/common_main.php`中的闭站判断
7. **PHP版本适配检查**
确认服务器环境:
- PHP版本需7.3-8.0(推荐7.4)
- 检查php.ini配置:
short_open_tag = Off
memory_limit ≥ 256M
max_execution_time ≥ 30
8. **日志分析**
查看最新错误日志:
tail -f data/log/$(date +%Y%m%d)_admin.log
tail -f data/log/$(date +%Y%m%d).php
9. **终极验证方案**
新建测试配置文件:
// config/test_config.php
$_config['siteclosed'] = 1;
$_config['closedreason'] = '紧急维护';
在入口文件`index.php`首行添加:
include './config/test_config.php';
若上述方案仍无法解决,建议提供以下信息以便深度排查:
1. 服务器环境具体版本(PHP/MySQL/WebServer)
2. 升级前原始版本号
3. 后台 → 工具 → 文件校验结果截图
4. UCenter服务端与客户端版本是否均为1.7.0
注:该问题可能涉及X3.5新增的中间件机制,可尝试在`config/config_global.php`中添加:
$_config['security']['querysafe']['status'] = 0;
临时关闭安全过滤进行功能验证。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]