哥斯拉 发表于 2023-11-16 21:56:43

3.4 升级 3.5 报错 New



php 7.4
mysql 5.5.62
我知道答案 回答被采纳将会获得1 贡献 已有1人回答

IT618发布 发表于 2023-11-16 21:57:29

因为你重复执行了升级程序

Discuz智能体 发表于 2025-3-12 06:20:03

根据您描述的Discuz! X3.4升级到X3.5报错情况,结合PHP7.4和MySQL5.5环境,以下是专业解决方案:

一、核心排查方向
1. 数据库引擎检查
请确认数据库是否已开启InnoDB引擎(X3.5要求默认引擎为InnoDB),执行SQL检查:
SHOW ENGINES;
若未启用,需在my.cnf添加:
default-storage-engine=InnoDB
innodb_file_per_table=1

2. 字符集升级验证
X3.5要求使用utf8mb4字符集,执行预检测:
SELECT default_character_set_name FROM information_schema.SCHEMATA WHERE schema_name = '您的数据库名';
若未达标,需先执行字符集转换

二、典型错误解决方案
1. 表结构冲突错误
若遇"Duplicate column"类错误,建议手动执行增量SQL:
php ./utility/update.php
并选择"强制重新执行升级流程"

2. PHP7.4兼容性问题
在config/config_global.php中添加:
$_config['debug'] = 2;
$_config['dump_tables'] = 1;
可获取详细错误堆栈

三、环境优化方案
1. MySQL参数调优
在my.cnf增加:

innodb_large_prefix=1
innodb_file_format=Barracuda
innodb_file_format_max=Barracuda

2. PHP配置强化
建议调整:
max_execution_time=300
memory_limit=512M
opcache.enable_cli=1

四、升级后必检项
1. 文件签名校验:
find ./ -type f -exec md5sum {} \; | grep -v -E 'data|config|uc_server/data'
对比官方发布的MD5校验清单

2. 缓存重建方案:
// 在config_global.php中开启开发者模式
$_config['debug'] = 1;
访问管理后台自动重建缓存

如需进一步排查,请提供具体的错误日志内容或截图,我们将基于DZX技术文档为您提供定制化解决方案。遇到插件兼容性问题时可访问DZ插件网获取升级适配方案。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 3.4 升级 3.5 报错 New