帝国cms从7.0升级到7.5版本方案

问题

今天遇到一个问题,所有在此vps下的帝国cms7.0版本网站都登录不了后台。我安装的是lnmp!

问题判断

然后想了想什么原因,想起来最近升级过服务器的PHP版本,估计是这个问题,于是我就从这个预估出发找解决方案。

百度

遇到问题先百度,我就去在百度搜,搜索“帝国cms php版本升级”,

得到如下解决办法:

1、全新安装帝国CMS时:
只需安装时“MYSQL接口类型”选择“mysqli”即可支持PHP7系列。

2、已经安装好帝国CMS换PHP7.*运行环境时:
只需修改配置文件“/e/config/config.php”将“$ecms_config[‘db’][‘usedb’]=’mysql’;”修改为“$ecms_config[‘db’][‘usedb’]=’mysqli’;”即可支持PHP7系列。(注意事项:UTF8文件不能用记事本修改文件,否则会将文件转为GBK编码,推荐用Dreamweaver修改。)

3、php.ini配置问题,按下面修改即可解决:(记得改完重启环境)
修改php.ini,把error_reporting = E_ALL改成
error_reporting = E_ALL & ~E_NOTICE

4、如果修改上述不能解决问题,报错依旧。请继续修改PHP.ini文件 把display_errors = ON改成display_errors = Off即可了!

我查看了下PHP.ini,所有现有设置均符合要去,除了第二条以外没问题,然后我美滋滋的去修改将’mysql’修改为’mysqli’,结果不行!看来只能麻烦的搞起。

解决思路

既然判断是PHP版本升级导致的帝国cms7.0不行,那么可以“降级PHP版本”或者“升级帝国CMS”!我好不容易升级了PHP版本,怎么可能去降级!于是从帝国CMS升级入手。

帝国CMS升级

可怕可怕!帝国CMS竟然不能直接从7.0升级到7.5(也许我不知道,知道的告诉我)!需要辗转2次:

  1. 7.0 to 7.2;
  2. 7.2 to 7.5;

没办法,硬着头皮上,本地下载了如下文件:

  1. EmpireCMS_7.0_SC_UTF8.zip
  2. EmpireCMS_7.5_SC_UTF8.zip
  3. EmpireCMS_70to72_SC_UTF8.zip
  4. EmpireCMS_72to75_SC_UTF8.zip

按照7.0 to 7.2升级说明来,上传文件到网站,所有步骤一致,然后进入 e/update/index.php 点击升级,升级竟然升级不动!再次点击,提示我不能重复升级,我xxxxx! (我不知道什么原因)。我自己怀疑仍然和版本有关。

曲线救国

线上试了几次不行,懒得去找解决方法了,我估计也不好找。

再次想问题,帝国升级分为文件升级+数据库升级(数据库版本之间结构不同)。文件升级=文件重新上传;主要是数据库升级比较麻烦,既然线上不行,我在本地升级了数据库,然后把数据体替换下不也行?说干就干!

1、本地升级数据库

(1)本地安装7.0版本帝国cms;

(2)从服务器 IP地址/phpmyadmin 下载网站数据库;

(3)将下载的数据库替换掉本地安装的7.0数据库;

(4)本地升级7.0 to 7.2 (成功!);

(5)本地升级7.2 to 7.5 (成功!);

(6)导出升级后的数据库备用;

2、线上操作

(1)从phpmyadmin导入升级后的数据库,报错!

尝试用命令导入:mysql -u root -p test< test01.sql 仍然报错!

最后解决:

打开sql,在头部加上

(2)7.5版本帝国upload文件覆盖掉现有网站文件;

(3)修改e/config/config.php文件;

如上一系列操作后,登录试试,成功登录!我以为没问题了,结果去刷新数据“刷新所有信息栏目页”时出现如下错误:

不要搞我啊!我怕了!找百度!

完美解决帝国CMS”Table ‘DB.表前缀_ecms_’doesn’t exist”问题

生成内容页提示“Table ‘*.phome_ecms_’ doesn’t exist……update ***_ecms_ set havehtml=1 where id=” limit 1

最简单的办法:先备份数据库,然后执行下面2个SQL语句就可以了!

分别运行SQL如下:

select id from phome_ecms_news where id not in (select id from phome_ecms_news_data_1)

delete from phome_ecms_news where id not in (select id from phome_ecms_news_data_1)

哇,完美解决,感觉试试,显而易见,不是一个问题(或者我不知道哪里错了)。思考5分钟。决定去帝国CMS后台“更新缓存数据”试试(我怎么想的!)

再去试试刷新,我擦,没问题了。。。。

没问题好,谢天谢地,解决!


已是最新文章

总计 0 评论

发表评论

作为 登录 | 登出 »

联系电话

18321263196

交换链接

互相学习

服务咨询

我的微信