迁移了WP之后,自信心爆棚,基于Discuz 7.2的BBS迁移进入了日程,因为都是2010年装的,不过已经过去5,6年了还能不能记起来,真的都不很肯定源代码是不是还能找到,从现在的论坛网站上下载完代码和附件之后,数据库迁移也通过Phpmyadmin有惊无险的搞定了,让自己精心准备的Mysqldump的工具根本没用上,看来phpmyadmin的上传下载搞定我这几百兆的数据库轻松加愉快啊。。导入导出之后改配置文件,改文件夹权限,改域名指向,OK,万事俱备,浏览器一拉地址,白屏!!!这就郁闷了。。。
好吧,继续百度谷歌去搜,信息不是很多,因为怀疑老版本导致的,所以就找指定版本的迁移和白屏问题,大多数白屏的原因都是插件引发的,我也继续disable插件等,可是依然无效,尤其是UCenter 1.51基本没插件,分析了一下源环境和目标环境再加上网上的一些文章,估计问题在这几个方面:
- WEB服务器从Apache改成Nginx了
- PHP版本和Mod的问题
- 数据库的连接问题
- 插件的问题
- 皮肤的问题
- 源代码传输有问题
- Cache的问题
好吧,虽然不知道是什么问题,但主要的问题是要看到错误信息对吧,查了一下错误信息的显示,有两个地方,一个是PHP,一个是Web服务器,Web服务器的error log主要管理的是服务器一级的错误,例如启动配置文件出错,SSL出错。。代码级的错误基本由PHP控制,那么就改PHP.ini 的error_reporting和display_errors这俩选项,改了发现还是没用,估计就是代码里关闭了这俩选项,这个时候突然发现连我的那个host的IP有些断断续续的,晕,为了选这个没封的IP可是费了不少力气啊,可别出问题,赶紧看了一下ping,居然也开始丢包,把IP放到翻墙(科学上网)的SSR服务里,立刻就好了,痛苦。。估计是用的Putty被侦测到了,算了,改用Xshell吧,改了之后又加入科学上网通道,稳定了。。
本来不想改代码的,后来发现不改代码真的不知道什么问题,打开代码一看,晕,前五行里就有一句:
error_reporting(0);
怪不得看不见,好吧,改成:
error_reporting(7);
然后到浏览器一看,哇咔咔,白屏终于木有了,出了一堆报错说set_magic_quotes_runtime(0);这个函数不存在,不存在?那肯定是PHP版本的问题啊,一查,晕死啊,这个服务器上的PHP居然是7.x.x,怪不得,我之前看LNMP信息的时候把其他的5.x.x当成PHP的版本了,WP居然对7.x.x的环境完全适应,这让我忽略了版本问题,知道了问题所在,依然不好解决,因为查了一下,只有到最新的DiscuzX 3.3才开始支持PHP 7,唉,我需要从7.2 -> X1 -> X2 -> X3.0 -> X3.3 -> X3.4,虽然下面的升级的道路还很曲折,但总体来说不是在黑暗中无头绪的摸索了。
原本计划就要升级这个BBS,一直因为懒没升级,所以目前算是个好机会,毕竟可以得到最新的支持,所以需要准备本地升级环境,然后升上去再看看怎么上传到服务器上,本地升级肯定需要Linux,那么只能装Desktop版的虚拟环境,目前看是Oracle 的VirtualBox和Vmware的Desktop Player比较合适,微软虽然自带Hyper-V,但估计对Guest的Linux环境支持不好,所以目前先不考虑。
因为之前用过VirtualBox,就下载安装一个吧,没想到装完之后无法启动Bridge Network,网上一搜,晕。。Windows 10最新patch引发的NDIS 6驱动的bug,目前还无解,试着尝试用前两年的方法解决,无效,折腾到凌晨2am还是搞不定,算了,放弃Virtualbox,不卖钱的东西是真的不靠谱啊,呵呵。。投奔VMwareing。。。
文章评论