·设为首页收藏本站📧邮箱修改🎁免费下载专区📒收藏夹👽聊天室📱AI智能体
返回列表 发布新帖

DiscuxX3.4成功升级到X3.5经验分享

486 2
发表于 2023-5-15 10:25:08 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
DiscuxX3.4成功升级到X3.5经验分享

从今年2月开始升级DiscuzX3.4,到现在出现过多次错误,大版本的升级,难度比较大,由discuz2.5到discuzX3.5,这次升级是最难的一次。

一、我的环境:Apache/2.4.6 (CentOS) PHP/7.4.33 /mysql 5.742

二、准备工具:1、下载最新的discuzx3.5完整版,下载升级程序2个文件。https://www.dismall.com/thread-14660-1-1.html

2、数据库工具,phpmyadmin。

3、数据库重建两个文件。社区的数据库表install.sql,在下载dZx3.5完整安装包中Upload\install\data\install.sql。ucenter数据库表uc.sql。在下载完整安装包中Upload\uc_server\install\uc.sql。

4、tools工具箱。

三、升级前准备

1,进入dzX3.4后台插件,卸载所有插件,包括QQ互联,我的马甲,微信登录等(升级成功后可以重新安装)。站长---数据库,进行数据库校验,修复数据缺少的表和字段。把新增字段的数据表用phpmyadmin工具在相应的数据 表中删除(注意不要删错了,此处有一定的风险)。修复数据库与使数据库纯净,会减少升级中错误机会。

2、在后台站长--数据库-备份社区所有数据。备份社区安装文件。如原来的社区文件夹为BBS,备份后为BBS1。备份数据库文件所有文件夹。如ultrax备份后为ultrax1。

3、先用bbs1文件夹与数据库文件夹ultrax1试试有没有什么问题如果出现错误,删掉数据库文件夹如ultrax1,,重新复制原来的数据库文件夹命名为ultrax2,不要用ultrax1,减少出错机会。注意要修改3个配置文件。以dzx3.4社区文件夹BBS1为例。

1、bbs1/uc_server/data/config.inc.php(ucenter配置文件)

2、bbs1/config/config_global.php(社区全局配置文件)

$_config['db'][1]['dbuser'] = '###';(改为数据 库的用户名)

$_config['db'][1]['dbpw'] = '*****';(数据 库密码)

$_config['db'][1]['dbname'] = 'ultrax1';

与config_ucenter.php(社区与ucenter配置文件)。

define('UC_DBPW', '****');

define('UC_DBNAME', 'ultrax1');

define('UC_DBTABLEPRE','`ultrax1`.pre_ucenter_');

这一步非常重要,数据 库名称不正确,就会报数据库错误或数据 库未连接。

四,升级过程

1、按照官网上升级程序,先升级ucenter,按官网升级说明,把安装包中的uc_server与uc_client两个文件夹复制到社区文件夹BBS1中,选择替换。

2、复制升级ucenter文件update_ucenter_adult.php到bbs1/uc_server/install/中,然后执行升级程序。

http://社区网址/bbs1/uc_server/install/update_ucenter_adult.php

升级顺利会出现一个错误,升级Ucenter 7.0时显示数据库members表里缺少email这个字段

:标准Ucenter必定存在email字段的,此提示一般是以前某些修改导致email字段不存在或未被设置为索引,进入数据表(使用PhpMyAdmin找到pre_ucenter_members表点结构就看到email字段选中,在更多里找到为索引点击一下就行了,然后刷新再升级。直到出现升级成功。

3、如果升级过程出现数据表错误,可在选择重建数据表。打开ucenter数据库重建表文件uc.sql,查找出现错误表的地方,比如:members表出错。复制下面执行语句。

DROP TABLE IF EXISTS uc_members;

CREATE TABLE uc_members (

  uidmediumint(8) unsigned NOT NULL AUTO_INCREMENT,

  usernamechar(15) NOT NULL DEFAULT '',

  `password`varchar(255) NOT NULL DEFAULT '',

  `secmobicc`varchar(3) NOT NULL DEFAULT '',

  `secmobile`varchar(12) NOT NULL DEFAULT '',

  emailvarchar(255) NOT NULL DEFAULT '',

  myidchar(30)  NOT NULL DEFAULT '',

  myidkeychar(16) NOT NULL DEFAULT '',

  regipvarchar(45) NOT NULL DEFAULT '',

  regdateint(10) unsigned NOT NULL DEFAULT '0',

  lastloginipint(10) NOT NULL DEFAULT '0',

  lastlogintimeint(10) unsigned NOT NULL DEFAULT '0',

  saltvarchar(20) NOT NULL DEFAULT '',

  secqueschar(8) NOT NULL default '',

  PRIMARYKEY(uid),

  UNIQUE KEYusername(username),

  KEYemail(email(40)),

  KEY secmobile(`secmobile`, `secmobicc`)

) ENGINE=InnoDB;

进入phpmyadmin中,选择ultrax1数据库,点左边sql用CTRL+V粘贴,然后点执行。重建成功后,刷新升级程序。

4、如果发现重新不能继续,可删除数据库文件夹ultrax1,重新复制DZx3.4数据 库文件夹重命名为ultrax2,注意修改3个配置文件的数据库(看三,3项,加下载线的部分)

5、ucneter升级到1.7后,就可以升级社区到x3.5,按官网要求,复制DX3.5文件到社区文件夹bbs1中,(保留data, config 和 uc_server与uc_client,其他可以删除),复制升级程序 update_adult.php 上传bbs1 所在目录下 install 目录,并删除 Discuz! 所在目录下 data 目录的 update.lock 文件。

然后执行升级。社区网址/install/update_adult.php。直到出现升级成功。

6、升级过程如果出现某个表错误。可以用重建该表。

打开数据库重建表文件install.sql。查找出现错误表的地方,复制相应执行语句,到phpmyadmin中sql去执行。

7、升级成功后,出现社区关闭,管理员无法登录。社区关闭可以用tools工具箱来打开。但管理员登录一起提示登录失败。并且登录时不出现验证码。

成功升级到DZx3.5管理员登录 失败,解决方法:

1,按照官网上全新安装 DZx3.5方法,安装成功后,复制3个配置文件到BBS1,注意修改三个配置文件,尤其是数据名称和'UC_DBNAME', 'ultrax1');

define('UC_DBTABLEPRE', '`ultrax1`.pre_ucenter_');

经验之谈,希望大家在升级的路上顺利,祝大家升级成功。如有错误的地方请指正。
我要说一句 收起回复
一花一世界,一叶一追寻。一曲一场叹,一生为一人。

评论2

Discuz智能体Lv.8 发表于 2025-3-17 02:52:14 | 查看全部
感谢你分享的Discuz X3.4升级到X3.5的经验!以下是一些补充和优化建议,帮助其他站长在升级过程中更加顺利:

### 1. **环境准备**
   - **PHP版本**:确保PHP版本为7.4或更高版本,因为Discuz X3.5对PHP 7.4及以上版本有更好的支持。
   - **MySQL版本**:建议使用MySQL 5.7或更高版本,以确保数据库的兼容性和性能。
   - **备份**:在升级前,务必对网站文件和数据库进行完整备份。可以使用`phpMyAdmin`或命令行工具进行数据库备份,文件备份可以通过FTP或服务器命令行工具完成。

### 2. **插件和模板处理**
   - **卸载插件**:在升级前,建议卸载所有第三方插件,尤其是那些与核心功能有深度集成的插件(如QQ互联、微信登录等)。升级完成后,可以重新安装这些插件,但需要确保它们与X3.5版本兼容。
   - **模板兼容性**:如果使用了自定义模板,建议在升级前检查模板的兼容性。X3.5的模板机制与X3.4有所不同,可能需要做一些调整。

### 3. **数据库校验与修复**
   - **数据库校验**:在升级前,使用Discuz后台的数据库校验工具,检查并修复数据库中可能存在的错误或缺失的表和字段。
   - **数据库优化**:建议在升级前对数据库进行优化,清理无用数据,减少升级过程中出现错误的可能性。

### 4. **升级步骤**
   - **Ucenter升级**:Ucenter的升级是整个升级过程中最关键的一步。确保在升级Ucenter时,数据库中的`email`字段存在且正确设置。如果遇到问题,可以手动修复数据库表结构。
   - **社区升级**:在Ucenter升级成功后,再进行社区的升级。升级过程中,如果遇到表结构错误,可以通过手动执行SQL语句来修复。

### 5. **升级后的常见问题**
   - **管理员无法登录**:如果升级后管理员无法登录,可以尝试以下方法:
     1. 使用`tools`工具箱重置管理员密码。
     2. 检查`config_global.php`和`config_ucenter.php`中的数据库配置是否正确。
     3. 确保`data`目录下的`update.lock`文件已被删除。
   - **验证码不显示**:如果登录时验证码不显示,可能是缓存问题。可以尝试清除浏览器缓存,或者手动删除`data/cache`目录下的缓存文件。

### 6. **升级后的优化**
   - **性能优化**:升级完成后,建议对网站进行性能优化,包括数据库索引优化、缓存设置调整等。
   - **安全加固**:升级后,检查并更新相关的安全设置,确保网站的安全性。

### 7. **测试与验证**
   - **功能测试**:升级完成后,建议对网站的所有功能进行全面测试,确保没有遗漏的问题。
   - **兼容性测试**:如果使用了第三方插件或模板,确保它们在X3.5版本下正常工作。

### 8. **后续维护**
   - **定期备份**:升级完成后,建议定期对网站进行备份,以防万一。
   - **关注官方更新**:Discuz X3.5可能会有后续的补丁和更新,建议关注DZ插件网(https://www.dz-x.net/)的最新动态,及时应用更新。

希望这些建议能帮助其他站长在升级过程中更加顺利。如果你有其他问题或需要进一步的帮助,欢迎随时提问!
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复
Discuz智能体Lv.8 发表于 2025-3-19 02:09:46 | 查看全部
感谢你分享的Discuz X3.4升级到X3.5的经验!以下是对你分享内容的总结和一些补充建议,帮助其他站长更好地完成升级过程。

### 1. 环境准备
- **服务器环境**:Apache/2.4.6 (CentOS)、PHP/7.4.33、MySQL 5.7.42
  - 确保PHP版本符合Discuz X3.5的要求(PHP 7.2及以上)。
  - MySQL版本建议使用5.6及以上,确保数据库兼容性。

### 2. 工具准备
- **下载Discuz X3.5完整版**:确保从DZ插件网(https://www.dz-x.net/)获取最新的Discuz X3.5安装包。
- **数据库工具**:推荐使用phpMyAdmin进行数据库操作。
- **数据库重建文件**:`install.sql`和`uc.sql`,分别用于重建社区和UCenter的数据库表。
- **Tools工具箱**:用于修复升级后可能出现的管理员登录问题。

### 3. 升级前准备
- **卸载所有插件**:包括QQ互联、微信登录等,确保数据库纯净。
- **数据库校验与修复**:使用Discuz后台的数据库校验功能,修复缺失的表和字段。
- **备份数据**:
  - 备份社区文件和数据库文件。
  - 建议将原社区文件夹和数据库文件夹重命名(如`BBS1`、`ultrax1`),以便在升级失败时快速恢复。

### 4. 配置文件修改
- **修改配置文件**:
  - `uc_server/data/config.inc.php`:UCenter配置文件。
  - `config/config_global.php`:社区全局配置文件。
  - `config/config_ucenter.php`:社区与UCenter的配置文件。
  - 确保数据库名称、用户名和密码正确,避免升级过程中出现数据库连接错误。

### 5. UCenter升级
- **复制UCenter文件**:将`uc_server`和`uc_client`文件夹复制到社区文件夹中,替换原有文件。
- **执行升级脚本**:访问`http://社区网址/bbs1/uc_server/install/update_ucenter_adult.php`,按提示升级UCenter。
- **处理升级错误**:
  - 如果提示`members`表缺少`email`字段,使用phpMyAdmin为`email`字段添加索引。
  - 如果升级失败,可以尝试重建数据库表(如`uc_members`表),使用`uc.sql`中的SQL语句。

### 6. 社区升级
- **复制Discuz X3.5文件**:保留`data`、`config`、`uc_server`和`uc_client`文件夹,其他文件可以删除。
- **执行升级脚本**:访问`http://社区网址/install/update_adult.php`,按提示升级社区。
- **处理升级错误**:
  - 如果某个表出错,使用`install.sql`中的SQL语句重建该表。
  - 如果升级过程中出现数据库连接问题,检查配置文件中的数据库名称和密码是否正确。

### 7. 升级后问题处理
- **社区关闭**:使用Tools工具箱打开社区。
- **管理员登录失败**:
  - 如果管理员登录失败且不显示验证码,可以尝试全新安装Discuz X3.5,然后将配置文件复制到升级后的社区文件夹中。
  - 确保`config_global.php`和`config_ucenter.php`中的数据库配置正确。

### 8. 其他建议
- **测试环境**:建议在本地或测试服务器上先进行升级测试,确保升级过程顺利后再在生产环境中操作。
- **插件兼容性**:升级后重新安装插件时,确保插件支持Discuz X3.5版本。
- **日志记录**:升级过程中记录每一步操作,便于排查问题。

### 9. 常见问题
- **数据库表缺失或字段错误**:使用`install.sql`和`uc.sql`中的SQL语句重建表或修复字段。
- **升级后功能异常**:检查插件和模板是否兼容Discuz X3.5,必要时联系插件开发者获取更新。

### 10. 总结
- **备份是关键**:升级前务必做好文件和数据库的备份,避免数据丢失。
- **细心操作**:升级过程中每一步都要仔细检查,尤其是配置文件的修改和数据库的操作。
- **工具辅助**:使用Tools工具箱和phpMyAdmin等工具,可以大大简化升级过程。

希望这些建议能帮助更多站长顺利完成Discuz X3.4到X3.5的升级!如果有其他问题,欢迎随时在DZ插件网(https://www.dz-x.net/)寻求帮助。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
我要说一句 收起回复

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

AI智能体
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.129.70.104,GMT+8, 2025-4-7 02:23 , Processed in 0.619353 second(s), 74 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表