Discuz,论坛如何搬家和转移数据教程
1、首先我们需要登录DZ论坛后台,在全局设置里边,关闭站点,防止网站出现新数据导致备份数据不完整。如图:
2、找到站长板块,点击数据库,进行备份。
3、按照提示,选择备份类型,点击提交开始进行备份。
4、备份完成之后我们可以看到如下图。
5、接下来我们需要把整个网站进行压缩打包。
6、打包完成之后把压缩包文件下载到本地。
7、下载完成之后解压文件,并重新压缩成zip格式。(我用的linux主机,限制zip格式才能解压)
8、压缩包上传到新空间网站根目录里面。
9、登陆空间后台点击压缩包进行解压。
10、解压完成之后在后台创建数据库。
11、上传install文件夹里面的indexphp文件,开始进行安装。如下图:
会提示安装锁定,按照路径提示删除锁定文件,然后进行安装。
12、进入正常安装DZ步骤开始安装。
13、选择全新安装,点击下一步。
14、填写正确的数据库信息,创建管理员账号密码。
15、填写完成之后进行安装。
16、安装完成之后用安装的时候的账号密码登陆进入后台。
17、选择站长板块,点击数据库,选择恢复数据库。
18、恢复数据前请在 Discuz! 安装文件目录下utility文件夹内找到 restorephp 文件,然后将 restorephp 文件上传到程序文件夹data目录下。为了您站点的安全,成功恢复数据后请务必及时删除 restorephp 文件。(我们可以重新下载一个全新的DZ然后上传需要的文件)
19、点击导入,进行数据库恢复
20、点击确定,开始恢复。恢复数据的整个过程会在一个新页面完成,您成功恢复数据后请务必及时删除restorephp文件。
21、等待导入进行就可以了。
22、导入成功。
23、请在后台更新缓存,并尽快删除restorephp文件,以免对数据造成影响。
好了,现在论坛已经完美搬家成功,本次完美搬家教程到此结束。
必须至少具备如下技能:
1) 能够理很好理解MVC构架的原理(虽然DZ不是MVC架构的)
2) 扎实的PHP基础,熟悉结构化程序,OOP程序的写法及应用
3)熟悉MYSQL就用,掌握SQL语言,懂SQL优化者更佳
4) 熟悉使用Discuz!的各项功能
一) Discuz!的文件系统目录
注:想搞DZ开发,就得弄懂DZ中每个文件的功能。
a) Admin:后台管理功能模块
b) Api:DZ系统与其它系统之间接口程序
c) Archiver:DZ中,用以搜索引擎优化的无图版
d) Attachments:DZ中 ,用户上传附件的存放目录
e) Customavatars:DZ中,用户自定义头像的目录
f) Forumdata:DZ缓存数据的存放目录
g) Images:DZ模板中的存放目录
h) Include:DZ常用函数库,基本功能模块目录
i) Ipdata:DZ统计IP来路用的数据
j) Plugins:DZ插件信息的存放目录
k) Templates:DZ模板文件的存放目录
l) Wap:DZ无线,Wap程序处理目录
二) 必须记熟Discuz!数据库设计的每个表的功能,每个表中每个字段的功能。
关于DZ数据库设计文档,请参阅DZ相关的项目
三) Discuz!的流程控制
a)
后台流程控:DZ后台所有的功能,均需要注册到admincpphp文件,每个功能都至少有一个或一个以上的Action(动作),在
admincpphp中,可以定义Action的执行权限,分别为:“admin==1”管理员,或“admin==2
admin==3”超级版主和版主,每个Action对应一个脚本文件,脚本文件的命名为actionincphp(incphp),并存放在
admin目录下,如执行:admincpphpaction=dodo,相当于执行admin目录下的dodoincphp文件
b) 前台流程控制:前台的流程控制比较简单:流程是自由的,如:
首页:indexphp
会员注册:registerphp;
会员登录:loggingphp
发贴程序:postphp
会员信息:memberphp
论坛内容:forumdisplayphp
查看贴子:viewthreadphp
…大部分功能,此处不一一列出…
c) DZ根目下的configincphp属于整个DZ系统的配置文件
四) Discuz!的数据处理过程
a) DZ对mysql的数据库操作处理全部封装在dbstuff(db_mysqlclassphp)类中
b) 所在的外部数据均通过“daddslashes()”初步过滤,然后再过滤,再根据需要处理
五) Discuz!的显示控制(网站多样式风格输出)
a) 显示层就是大家通常所看到的网站风格了。DZ中每套风络分别在templates及images下对应一个风格文件的存放目录。网站风格的制作,请参阅详细的DZ风格制作文档
b) DZ网站风格文件处理的原理:其实很简单,DZ使用templatefuncphp中的parse_template()以PHP正则运算把htm模
文件中的模板标签,转换成了PHP代码,并根据styleid保存在forumdata/templates下,这个有点像Smarty中的技术。
六) DZ中的语言处理
a) 前台及后台中、英语言的实现,均是把语句定义成了语变量,然后在模板输入,语句变量的赋值,均放在模板目录中的langphp文件中,DZ在生成网站风格时就加载了这相应的语言包。
七) DZ如何处理用户信息(存取、计算、更新过程)
新手要做二次开发,都必须掌握这数组中,每个数组元素的意义。
a) DZ的基本信息,如用户信息,Session信息存在如下变量中:
a) $_DCACHE
b) $_COOKIE
c) $_DCOOKIE
d) $_DSESSION
e) $_DPLUGIN
b) 可以通过print_r($GLOBALS),打印全部变量
八) DZ中缓存处理机制
a) DZ中缓存处理过程都放在“cachefuncphp”中,DZ的缓存处理比较简单,其原理是把一个数组转换成了PHP代码,并保存在缓存目录下,大家可打开缓存文件查看便知。
b)使用方法:如果在新开的功能中,需要缓存某部分数据,基本上就是:
1)定义并注册缓存名字。
2)从数据读取相应的数据。
3)数据在写入缓存前作相应处理。
4)最后写入缓存。
具体操作,可以看文件中的代码,做相应的修改即可
九) DZ中模板处理机制
a) DZ独创的模板处理技术,类似于Smarty中的模板处理,只是具体算法,过程不同,Smarty是一种重型模板引擎方案。其原理都是把模板中的变量转换成相应的PHP代码,这个过程实际是模访JAVA中的一次编译,多处运行。
十) DZ中权限处理机制
a) 对于DZ中前台的每相action都有$discuz_action定义,DZ根据用户所在的用户组来判定用户是否具有相应操作$discuz_action的权限。至于后台的权限权验证,则更简单了,依据“admin==1”来确定的
十一) DZ中如何实现URL静态化
a) DZ中的静态有两法,只要懂ReWrite规划的朋友,一看就知。
十二) DZ独创的HTML编辑器,如何截取并使用,如果进行Discuz!代和Html代码的转换
a) 这也算是DZ比较牛的一项技术了,在早期版中,因DZ编辑器的不足,使得很多用户放弃了DZ。
实现原理:通过JS把用的一些操作转换成了DZ的bbcode代码。这样子提交了安全性,将带有bbcode代码的内容存入数据,在用户打开页页时,又把bbcode代码转换成html代码
这个要根据网站环境不同了:
网站本身的数据库是和程序分开的,大部分主机都是储存在两个空间。
小型虚拟主机,没有权限查看数据库文件,但是会提供在线管理的工具,一般在空间后台有提供链接。
云主机,快云VPS,云服务器,以及独立主机,都有远程服务器管理权限的,直接登录远程,就可以查看数据库位置。
目前的情况看,快云VPS都自带云数据库,也有管理平台,可以后台直接打开数据库。
Discuz论坛的数据库在程序中有设置文件对应查询账号密码,
/config/config_globalphp
/uc_server/data/configincphp
/config/config_ucenterphp
这些文件都含有Discuz论坛数据库的登录账号密码信息,可以参考登录管理数据库。1、首先,利用Discuz管理权限账户登入Discuz论坛管理后台。
2、然后,进入管理后台的管理中心。
3、接着,依次点击“站长”,“数据库”,并提交数据库备份申请,备份类型选择默认就好了。
4、然后,等待系统把所有数据都备份完成。
5、接着,系统会提示已经完成所有的备份请求,从备份完后的提示,可以看出,备份文件在网站根目录的data目录下面,数据库文件都在back_23d619这个文件夹下面。
Discuz!为方便用户备份和恢复数据库,已在后台内置了此功能,易于站长操作。今天在这分享一下Discuz! x25论坛后台数据库的备份和恢复方法,以及备份数据库和恢复数据库要注意的一些细节问题。 一、利用Discuz!后台备份数据库 1、为备份数据完整无误,备份数据前请站长先关闭站点; 2、利用站长权限登录后台——》站长——》数据库——》备份,有两个基本的数据备份类型:“Discuz! 和 UCenter 数据” 和 “自定义备份”; 1)、选择“Discuz! 和 UCenter 数据”,会备份你Discuz!数据库的所有数据表文件;(包括插件等生成的数据表) 2)、选择“自定义备份”,按照要求勾选你要备份的数据表即可。 3、“提交”旁边有一个“更多选项”,用户可以根据自己的需求来设置一下更多选项,不是很懂的用户可以不必点开更多选项设置,保持Discuz!设置的默认值就可以了;下面分析一下更多选项的技巧提示: 1)、MySQL Dump 的速度比 Discuz! 分卷备份快很多,但需要服务器支持相关的 Shell 权限,同时由于 MySQL 本身的兼容性问题,通常进行备份和恢复的服务器应当具有相同或相近的版本号才能顺利进行。因此 MySQL Dump 是有风险的:一旦进行备份或恢复操作的服务器其中之一禁止了 Shell,或由于版本兼容性问题导致导入失败,您将无法使用 MySQL Dump 备份或由备份数据恢复;Discuz! 分卷备份没有此限制; 2)、数据备份选项中的设置,仅供高级用户的特殊用途使用,当您尚未对数据库做全面细致的了解之前,请使用默认参数备份,否则将导致备份数据错误等严重问题; 3)、十六进制方式可以保证备份数据的完整性,但是备份文件会占用更多的空间; 4)、压缩备份文件可以让您的备份文件占用更小的空间。 4、上面选好“数据备份类型”,点击提交就可以开始备份了,备份的数据文件会保存在站点根目录下的data目录的一个backup_XXXXXX文件夹里; 5、备份完数据库后即可重新打开站点。 二、利用Discuz!后台恢复数据库 1、为恢复数据完整无误,恢复数据前请站长先关闭站点; 2、利用站长权限登录后台——》站长——》数据库——》恢复,会看到你各次的数据备份记录,并且有备份时间、备份数据类型等; 3、上传恢复数据库必须的restorephp文件; 1)、恢复数据前请在 Discuz! X25 安装文件目录下utility文件夹内找到 restorephp 文件,然后将 restorephp 文件上传到程序文件夹data目录下; 2)、如果你恢复过数据库,会在根目录生成/data/restorelock文件,恢复数据功能锁定,如果您确定要恢复数据,请到服务器上删除/data/restorelock。
0条评论