PHP 解决同一个IP不同端口号session冲突的问题
在项目的开发阶段,我们经常会遇到几个站点共用同一个IP用不同端口号区分的形式!但是,这样很容易导致一个问题,session冲突丢失!即两个站点具有相同的session变量,清除session的时候即全部清除,这样给开发阶段中的测试带来不便!那么,怎么解决这个问题呢?第1个办法就是用不同的域名绑定的不同站点;第2个办法就是为不同的站点设置不同的session作用域,今天主要描述第2个办法的实施过程。
项目场景:同一个项目同时包含三个站点(商城端、商户端、总控端),对应的IP访问分别是:120.77.45.41:80、120.77.45.41:81、120.77.45.41:82
实施方案:商城端的session作用域保持不变;商户端的作用域设置为PHPSESSID_FRONTEND,总控端的作用域设置为:PHPSESSID_BACKEND.
代码实现:在站点的入口文件index.php头部加入:@ini_set('session.name', 'PHPSESSID_BACKEND');
实现效果:如下图所示: