同一台服务器下安装多个ECSHop的解决方法

本文是关于在同一台服务器下安装多个ECShop会登陆冲突的问题。
在配置文件里面设置$cookie_path , $cookie_domain, 参数都没有效果。
 
现在把找到的一个解决方法和大家分享一下
 
找到其中一个ECShop的 目录,可以用Editplus,用“在 文件中查找” 功能
搜索"new cls_session"
在搜到的结果中,把该行的第三个参数设为不同的值就可以了
1,includes/init.php                           // 前台
2,api/init.php                                  //前台,用于集成UCenter同步登陆的
3,api/client/includes/init.php            
4,admin/includes/init.php                 // 后台 管理员
5,includes/fckeditor/editor/filemanager/connectors/php/config.php  //后台 管理员,上传图片的
6,wap/includes/init.php   //wap的,一般用不到

其中1,2要设一样,4,5要一样,但前后台要不一样
就是要设置三个不一样的值,1,2一个值,3一个值,4,5一个值
默认参数是'ECS_ID',比如文件1里面第三个参数空缺,填上一个自己设定的值就好了,比如:
  $sess = new cls_session($db, $ecs->table('sessions'), $ecs->table('sessions_data'), 'ECS_ID2');

再说集成UCenter:
按照UCenter的工作原理,其实只要两个ECShop登陆不互相冲突就没关系,各自按照平常的方法集成就可以了。和它们都是ECShop这件事没有关系。
不过如果你的 模板的登陆框是ajax模式的话,要注意看一下libaray/page_header.lbi里面是不是有这一行 代码
  <div id="append_parent"></div>
或者在其他地方也行,当时一定要保证ajax登陆的当前 页面里面有这个div
有些 官方的模板里面貌似也没有的
这样才能保证你登陆的时候,其他集成的网站也同步登陆。
 
ps:
如果ECShop官方能配置这些session_name的值就好了,就不用修改这么多文件了。
如果现在就能通过某种配置方法实现,敬请告知 [email protected]

你可能感兴趣的:(职场,休闲,一台服务器,多个ECShop,登陆冲突)