phpsso一直是被phpsso使用者所诟病,因为对于大多数企业站来说,是不需要多应用登录的,因此也就用不到phpsso,但是phpcms官方并没有设计一个开关之类的东西,而是强制使用phpsso,强制也就算了,而我们常常又会被phpsso的“通讯”拦住,因此很多人都想着怎么去除phpsso,让会员功能不再依赖phpsso。
因为我要开发phpcms v9的微信小程序插件,需要对接会员系统,但是可恶的phpsso很让人抓狂,并且获取用户头像比较麻烦,因为默认的phpsso的头像是不入库的,因此读取比较困难,所以决定砍掉phpsso
【注意】 (1)去掉phpsso修改,可以满足后台一键关闭phpsso,而不影响注册和登录 (2)如果你之前开发过member模块,请慎重覆盖 (3)重构了获取会员头像上传,会员头像获取的方法, (4)其他功能没有做过过多测试,欢迎测试反馈
【修改内容】 1、phpcms/modules/member文件夹下的 (1)member.php (2)index.php (3)member_verify.php 2、phpcms/templates/member文件夹下 (1)新增account_manage_avatarnew.html用作头像上传 account_manage_avatar.html (2)account_manage_upgrade.html (3)account_manage.html (4)index.html 3、修改phpcms/libs/function下的global.fun.php的get_memberavatar
(1)给v9_member表增加一个字段avatar,用来存储头像,设置varchar类型。 (2)全面整改phpcms\modules\member模块,点击下载源码:member.zip 解压直接覆盖member模块(记住覆盖之前做个备份) (3)修改phpcms\template\member模板(如果做过开发慎重覆盖)member模板.zip,主要是新增了上传头像的方法 (4)修改phpcms\libs\functions\global.func.php中的get_memberavatar方法改成:
function get_memberavatar($uid, $is_userid='1', $size='30') {
if($is_userid) {
$db = pc_base::load_model('member_model');
$memberinfo = $db->get_one(array('userid'=>$uid));
if(isset($memberinfo['userid'])) {
$uid = $memberinfo['userid'];
$avatar = $memberinfo['avatar'];
} else {
return false;
}
}
}
根据以上修改,做测试,关闭phpsso之后,仍可以实现会员的注册于登录,目前暂未发现其他bug。 原文地址:https://doc.tengcee.com/other/129.html
评论区