帝国CMS7.5正式版多访问端切换不成功完整解决方法
帝国CMS更新了7.5多访问端正式版,很多使用帝国CMS的站长朋友都纷纷从7.2升级到了7.5版本,但是升级帝国CMS7.5版本之后却出现了很多问题,分享解决帝国cms7.5多端访问切换不了,提示未登录或者显示空白,或者手机端切换到主端无法跳转到主端域名(网址)的问题,希望能帮到大家,资源共享互帮互助是我们建站的最终目的!
方法步骤:(首先一定要参考帝国CMS7.2升级7.5版本的所有步骤,一个不漏的设置。)
一、帝国CMS7.2版升7.5版升级步骤:(商业授权版请从官方商业区下载商业版升级程序)备注:直接使用7.5版本的跳过升级步骤!
说明:本升级程序不影响原7.2版的数据与模板。
******************** 升级前备份工作 ********************
1、备份以下文件和目录:
------------------------------------------
/e/
------------------------------------------
即备份整个“e”目录。
2、备份数据库数据。
(小数据可以用phpmyadmin;大数据用"帝国备份王":http://ebak.phome.net;如果是用后台的备份,记得选按十六进制备份数据;)。
3、本次升级所耗时间和信息数量有很大的关系,建议在服务器负载较低的时间段进行升级为佳。
4、升级前请先检查下面目录权限是否为777(包括子目录),以防升级出错:
------------------------------------------
/e/config/config.php
/e/data/
------------------------------------------
5、如果开启后台网站安全防火墙,请先关闭,然后再升级。(升级完成后再重新开启)
登录后台>系统>系统设置>网站防火墙:关闭。
6、新版本的升级程序支持设置升级密码验证,默认不验证。如果需要增加验证,设置方法: (注意事项:UTF-8不可以用记事本修改,否则会将文件内容转为GBK,建议用Dreamweaver或Editplus等编辑工具修改。)
可修改升级包里的 /e/update/setconfig.php 文件配置。
******************** 升级步骤 ********************
1、如果您改了“e/admin”目录名,请先将目录名改回“e/admin”;(升级完成后再修改回来)
2、删除以下2个目录,防止旧版编辑器文件冗余:
------------------------------------------
/e/admin/ecmseditor/
/e/data/ecmseditor/
------------------------------------------
3、上传或复制升级包upload目录里的文件到本地帝国CMS系统目录里,覆盖已存在的文件;
4、将以下目录和文件权限设为777;(权限要应用于所有子目录与文件)
------------------------------------------
/ecachefiles/
/e/template/public/checklevel/info1.php
------------------------------------------
5、在浏览器运行 /e/update/index.php 文件,依提示进行升级;
6、删除 /e/update/ 目录里的所有文件;
7、登录后台>用户>用户管理>管理用户组,修改用户组:设置用户组权限;(新版增加的功能没有加上权限是不显示菜单的)
8、升级完毕。
******************** 会员接口升级说明 ********************
1、如果整合过Ucenter接口,需要下载7.5版ucenter接口包进行升级(接口包里有升级说明)。
2、如果整合通行证接口,需要下载7.5版通行证接口覆盖bbs目录下的文件并配置通行证接口参数文件。
******************** 其它升级说明 ********************
1、如果原来已经安装过“多图同时上传插件”,可以这里下载新的文件覆盖:http://ecms.phome.net
2、有调用验证码的页面,需要修改模板增加加载 /e/data/js/ajax.js 文件才可以使用点击显示验证码,如:会员中心的“主界面头部”模板。
即:在模板内容里
和之间任意位置加<script src="/e/data/js/ajax.js"></script>
3、新版的WAP模板不再默认使用WML语法,而是采用HTML语法,如果要改为HTML语法可参考安装包里的默认WAP模板/e/wap/template/进行修改。
4、如果使用了MYSQL读写分离功能,需要重新设置参数(可以复制备份的/e/config/config.php文件里的读写分离参数)。
******************** 重新升级说明 ********************
如果服务器出现意外导致升级失败可以按下面方法重新升级:
1、先删除数据库中当前帝国CMS的所有数据表。(防止表已经存在)
2、恢复备份的数据库。
3、恢复备份的 /e/config/config.php 文件。
4、关掉原来的浏览器窗口,重新打开新的浏览器窗口重新升级即可。
二、升级注意事项
1、如果开启后台网站安全防火墙,先关闭,然后再升级。
2、检查 /e/config/config.php文件 和 /e/data/目录 是否有读写权限。
三、升级常见问题
1、升级时提示:
Table '***_enewsag' already exists
原因:7.5的表已经存在,是因为原来安装7.5测试版后没有删除7.5表就直接安装帝国7.2致使表遗留下来。
解决办法:恢复数据库后对比7.2版数据表,把多余的7.5版表删除,然后按升级说明里的“重新升级说明”步骤重新升级就能解决。
2、升级时提示:
Duplicate column name 'eckuid'
原因:您重复执行了升级程序/e/update/index.php,导致部分数据表已被更新至7.5表结构。
解决办法:恢复数据库后对比7.2版数据表,把多余的7.5版表删除(如果存在),然后按升级说明里的“重新升级说明”步骤重新升级就能解决。
3、升级提示“升级程序不能重复运行”
原因:重复运行升级程序或从多个版本一路升级。
解决办法:关掉当前窗口,打开新的窗口运行。
4、升级后为什么没有看到新增功能的菜单?
原因:您的用户组权限没有开启,所以不显示菜单。
解决办法:修改用户组开启相应的权限,才会显示相应的管理菜单。
5、升级后为什么页面点击验证码不显示?
原因:有调用验证码的页面,需要修改模板增加加载 /e/data/js/ajax.js 文件才可以使用点击显示验证码,如:会员中心的“主界面头部”模板。
解决办法:在显示页面的模板内容里
和之间任意位置加<script src="/e/data/js/ajax.js"></script>
6、使用了多访问端,子访问端如何升级?
答:看升级包里的升级说明第四的说明。
7、不能使用后台的切换访问端功能?
原因:各访问端目录权限设置问题或者数据库缓存没有更新导致。
解决办法:
(1)设置好各访问端目录权限,特别是/e/config/config.php、/e/data/这两个要有读写权限。
(2)然后在主访问端后台更新各端数据库缓存和动态页面:主访问端后台>系统>网站多访问端>管理网站访问端:“更新所有访问端缓存与动态页面”。
(3)各访问端的COOKIE作用域要设置为:.域名,比如:.dn580.cn
(4)如果启用来源安全防护,提示切换成功后请等待2秒让自动转向访问端,不要手动点击转向链接,以防止触发来源安全验证显示空白。
解决7.5主端切换到手机后台空白页的问题
升级7.5后很多朋友遇到了主访问端和手机端后台切换问题,经排查原因为默认的后台安全设置为2也就是以下设置:
//后台安全设置
$ecms_config['esafe']['ckfromurl']=2; //是否启用来源地址验证,0为不验证,1为全部验证,2为后台验证,3为前台验证,4为全部验
当值为2时,切换到手机端后台后会查询来源url是否为本站,但是手机端的url已经改变了,所以才会显示空白页面。
解决方法:
1.关闭后台安全设置,修改为:0,等待官方解决
2.修改e/class/functions.php
查找
$gourl=substr($pr['purl'],0,-1).str_replace('/enews.php','/admin.php',$selfurl).hReturnEcmsHashStrHref2(1);
替换为
$gourl=substr($pr['purl'],0,-1).str_replace('/enews.php','/admin.php',$selfurl).hReturnEcmsHashStrHref2(1)."&furl=".$pr['purl'];
即可解决。
不过还有一个问题就是,主端能正常切换到手机端(子端),如果从子端无法正常跳转到主端,会返回到子端登录界面,大家还需要进入mysql数据库,找到phome_enewsmoreport这个表项,将主端域名默认为“/”修改为绝对路径域名,比如:http://www.dn580.cn/ 即可解决帝国CMS从子端(手机端)切换到主端不成功的问题。
以上就是帝国CMS7.5正式版多访问端切换不成功完整解决方法,官方暂时也没有给出补丁解决,大家就先这样自己解决吧!