『网站升级』PHPWind8.0至8.3升级过程及问题种种回顾录
时间:2010-12-10 来源:exPlife
废话不多,升级了。
先从网上下载
8.0升级包: 简体 GBK 繁体 BIG5 简体 UTF8
7.5升级包: 简体 GBK 繁体 BIG5 简体 UTF8
按照提示一步一步来。
第一个问题:管理员帐号无法登录升级界面
PHPWind8升级是需要使用创始人帐号的,但是我却无法登录,因为没有改过代码,所以我猜测应该是网站设计上有问题于是进入待升级后台查找原因,因为帐号失效一般可能是Cookie出问题,所以最后我在全局变量里发现了问题所在。
在全局参数中把此处设为空,把Cookie设为本地域,登录成功,升级成功。
第二个问题:login.php无法正常登录,无法正常登录。
因为没有改代码,所以不怀疑程序,最后发现问题果然还是出在Cookie上,在站点信息中
把站点地址设为本地(localhost),登录正常。
第三个问题:老用户无法正常登录。
原来用的基础程序是DZ论坛,所以用户加密方式不一样,所以以前的技术写过一个如果新密码通不过,就用老密码验证,我查看了一下代码。
$len=strlen($pwpwd); //md5加密 $md5hex=md5($pwpwd); $len=strlen($md5hex)/2; $md5raw=""; for($i=0;$i<$len;$i++) { $md5raw=$md5raw . chr(hexdec(substr($md5hex,$i*2,2))); } $md5_pwpwd=base64_encode($md5raw); //$md5_pwpwd = md5($pwpwd); $safecv = $db_ifsafecv ? questcode($question, $customquest, $answer) : ''; //如果登陆失败 if($logininfo=="login_pwd_error") { $md5_pwpwd = md5($pwpwd); $logininfo = checkpass($pwuser, $md5_pwpwd, $safecv, $lgt); }
发现
$logininfo=="login_pwd_error"
这个验证根本没有运行,于是用
echo $logininfo; return;
检查logininfo的值,结果发现8.3版中的错误值变成了login_usernamepwd_error,把这个替换上去,OK,老用户登录成功。
第四个问题:自己开发插件管理界面消失
网站有一个自己开发的管理分类信息的一个插件,首页显示正常可用,说明代码和数据库全在,但是后台管理界面消失,我猜测可能是功能就是写在系统默认管理页面里面,升级后将他覆盖了,于是能DW开始寻找页面,最后找到三个文件
topiccate.php
topiccate.htm
css.htm
将原系统中的三个页面复制过来覆盖,管理界面回来了。