网站是使用discuz内核的,将网站的全部文件和数据库都打包保存后,转移到新的服务器或者在本地php环境测试时,发现网站可以打开,但是却无法登陆,无论是前台还是后台都无法登陆,本文将讲述如何解决这个问题。
注意:本文涉及数据库操作,请提前备份好数据。
首先无法登陆,排查了所有连接数据库的文件:
config/config_global.php和config_ucenter.php
uc_server/data/config.inc.php
将里面的数据库信息全部修改为正确的。
![](https://blog.huagequan.com/wp-content/uploads/2023/10/75fd0884f770618.jpg)
然后是解决验证码的问题,由于验证码使用的是vaptcha,导致域名无法验证,验证码出不来,前台后台都登不进去。解决这个问题其实也很简单,直接在\source\plugin这个文件夹中删除vaptcha的插件文件夹,discuz系统读不到插件就自动关闭了,我走了很多弯路,去数据库删除了所有vaptcha有关的记录,都没能解决。
这时候重新测试网站登陆,发现可以登陆了,但是提示登陆成功后又马上自动退出,或者根本就没登陆成功,只是有那么个提示而已,之后依然要求再次登陆。
然后在登陆网站后台的时候,也是一闪而过,没有任何的提示,经过一顿百度,终于找到了关闭config/config_global.php这个文件中的urlxssdefend为0。
$_config[‘security’][‘urlxssdefend’] = 0;
![](https://blog.huagequan.com/wp-content/uploads/2023/10/309ce2033b8e124.jpg)
继续登陆,发现现在什么提示都没有了,连登陆成功的提示都没有了,密码错误提示也没有,彻底的疯了。
又是一顿百度,没找到答案,无意间在数据库中看到了一些东西,让我想到是不是数据库的数据格式与原来不符,导致查不到数据导致的。
所以使用phpmyadmin将数据库的结构从utf8转换为gbk之后,顺利登陆了,折腾了2个多小时,终于解决了问题,网站一切正常。
![](https://blog.huagequan.com/wp-content/uploads/2023/10/aa7a9fd17680cbf.jpg)