Wordpress无法登陆终极解决方案

  本文适合对象:安装后无法登陆后台,输入用户名和密码后仍然跳转到登陆页面,无法进入后台,无任何错误代码显示。如果你的问题是因为升级后无法登陆,且显示错误代码请参照http://www.baibanbao.net/?p=165上的解决方案

  下面这两段是我解决的整个过程,本人是个菜鸟,也对wordpress不熟悉,所以解决的比较可笑,走了不少弯路,废话较多,可跳过直接看后边的解决办法,如果有空也可看一下。

  ( 昨天晚上装的wordpress,由于是在学校里,晚上11点熄灯,我的笔记本也很快的消耗者电力,没办法学校校园网网速慢,不到熄灯上传如蜗牛一般,只能趁着熄灯后这段时间对网站更新内容,由于是新建的网站,各方面内容都要手动制作,太慢了,所以想建个博客,先把内容放到博客上再慢慢搞,决定装一个wordpress,由于本人是个菜鸟,对wordpress也不了解,下下来后就上传,上传到www目录下,花了40多分钟,然后很不幸的发现电池只剩了10分钟的电力,因为怕明天起来然后网速太慢,我毅然决定先装上再说,自动创建config一步一步还很顺利,但是到了最关键的一步,当安装到数据库时,突然电脑关机了,我心里拔凉拔凉的,不知道到底有没有装上,就上床睡了。

  第二天早上起来,准备登陆wordpress看一下,输入用户名和密码后发现网页又是跳回到登陆界面,试了好几次都是这样,我以为是用户名或密码错了,就先到邮箱里看,发现没错,又到数据库内看发现数据库内的密码与那个密码不一样,我我就试了试数据库内的密码,发现还是不行,我觉得这肯定是安装突然中断,数据库还没生成好引起的,就决定重新安装,安装时我还是自动生成config,安装到最后居然说我安装过了,先让我清理数据库,我就一个个把数据库内的删了然后还是自动生成config结果还是不行,让我很郁闷,我就开始在网上搜索解决办法,看了以后感觉应该是数据库名字的问题,还是手动写个config,于是就写了一个,再次安装,果然不再提示安装过,然后登陆,居然还是这种情况,我就郁闷了,我又想,这样安装的这么快,难道还是没有生成数据库,我到数据库看了看,发现的确生成了数据库,数据库没问题,我有搜索了一圈,想起来是不是因为我装在www目录下,登录时他又转到www外去了,于是检查了一下数据库中的siteurl和home发现果然时目录设置出了问题,改了目录后再次登陆,真是功夫不负有心人,后台终于出现在我面前,花了一天的时间终于把它搞定了。)

  下面是具体解决流程:

  1 首先打开phpadmin,从左边的表中选择xx_opition

  2 在xx_opition中进行查询,在查询框中输入

  SELECT * FROM `mn_options` WHERE `option_name` IN ('siteurl','home') LIMIT 0,30

  3查询后修改siteurl home的指向,如果你是安装在www目录下,而你绑定你的域名在wordpress文件夹上时,此时siteurl home一般是http:******/wordpress,将wordpress删除只剩下http:******

  4再次登陆,应该没问题了

  另在这做个小广告,本人博客www.meta-news.cn刚开始建还没写什么,宣传一下我另外的站www.wishhome.com.cn bbs.wishhome.com.cn唯西网古典文化站,也是刚做的,

  如果以上不能解决,请联系我QQ543944181或留言

  (另附上白板报中关于更新后无法登陆的解决办法)

  ( 我是如何解决Wordpress无法登陆问题的

  Published by wangpeiat 12:26 am under 乱炖

  前后花费了三个晚上,我终于解决了Wordpress升级后,用户名、密码都正确,却无法登陆的问题。为了让后来者不吃二遍苦,不受二茬罪,我把解决的详细过程与思路,记录如下。

  一、问题描述

  这一问题,有几种描述方式,为了让搜索引擎能够找到这篇文章,我把各种常用的叫法汇集如下:

  1、有以症状命名的,例如:wordpress无法登陆,密码正确、登录不了,锁到wordpress之外,可以访问、无法登录;

  2、有以成因命名的,例如:wordpress升级出错,wordpress2.6升级无法登陆……

  3、有以出错语句命名的,这种方式最多:

  1) Warning: Invalid argument supplied for foreach() ……

  2)capabilities.php on line 31

  3)Warning: Cannot modify header information - headers already sent by (output started at……

  4、一篇法国人写的著名的解决方案,是这样命名的:Invalid argument supplied for foreach() in wp-capabilities.php: Case Cracked!

  (需要指出的是,这篇文章虽然被搜索得很多,但极具有误导性,害了不少人,我认为完全在胡说八道!下文会谈及)

  5、有以痛苦感受命名的:天哪,我登陆不上博客了,救命啊,雪地翻跟头跪求……

  用这种命名方式搜索,田螺姑娘都没办法帮你。

  二、出错语句

  出错信息除了上面描述的语句之外,还有其他形式,试搜集如下:

  1、我的出错信息:

  Warning: Invalid argument supplied for foreach() in /homepages/23/d208744272/htdocs/wp-includes/capabilities.php on line 31

  Warning: Cannot modify header information - headers already sent by (output started at /homepages/23/d208744272/htdocs/wp-includes/capabilities.php:31) in /homepages/23/d208744272/htdocs/wp-includes/pluggable.php on line 552

  Warning: Cannot modify header information - headers already sent by (output started at /homepages/23/d208744272/htdocs/wp-includes/capabilities.php:31) in /homepages/23/d208744272/htdocs/wp-includes/pluggable.php on line 689

  2、以下大同小异,但肯定有这一句:

  Warning: Invalid argument supplied for foreach() in /home/user/wp/wp-includes/capabilities.php on line 31

  三、出错诱因

  目前来看,这个问题大部分情况是发生在为wordpress升级时,不但从2.5升到wordpress2.6,也看到过从2.2或者更低版本升级,遇到这一情况的。

  也有案例显示,安装时就出现这一错误。这个非常罕见。

  四、出错原因

  我不懂技术,网上有各种说法,有说是uft-8编码转换出了问题,有人说陷入死循环。

  这些都不重要,重要的是解决办法,难道不是吗?

  五、修改字符编码法,或set names utf8法

  这种办法,网上最多。它提供的解决办法是:

  第一步:用phpMyadmin后台,把字符编码修改为utf-8。这里要注意,如果你用的是mySql4.0话,当你把字符修改成utf-8后,它下次还会显示gb2312,甭理它,其实已经改好了,我的经验是这样。

  还有人说,还应该设置数据库的”collation”为”utf8_general_ci”:因为在新的服务器中建立数据库时,没有指定其为utf-8,更没设定collation,所以需要先设定数据库的字符集。

  执行命令:

  alter database myblog

  character set utf8;

  然后再在”操作”或者数据库PhpMyAdmin的登陆页面中设定collation为”utf8_general_ci”。

  第二步:修改/wp-includes/wp-db.php这个文件。

  这一学派认为,毛病出在wp-db.php中,没有设定好utf-8为字符集,从而造成了一系列悲剧。因此,必须修改这个文件。这一学派又有下属三个分支流派:

  流派一:在$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);后面加上$this->query(”set names ‘utf8′”); 注意英文标点。

  该学派认为,出错原因是wp-includes/capabilities.php里面$this->roles这个数组取到的是乱码。

  流派二:就是害人的法国人的那个方案,他认为应该在上述同意位置,加上这一语句:mysql_query(”SET NAMES ‘utf8′”);,其实这是错误的!!

  流派三:还有人主张$this->query(”set names ‘utf8′”);这个语句应该加到wp-db.php的另外一个位置;另外还要增加另外一处代码。我之所以,没有详细列出来,是因为这种办法根本无效。

  我试过以上三种办法,最后保留了流派一的办法。

  但我强烈怀疑,这种办法的有效性!!

  六、胡说八道法,又名检查wp_options表法,又又名wp_user_roles法

  这个办法是法国人发明的,他说,在phpMyadmin里,打开wp_options表,找到wp_user_roles一项,从中发现一个法语怪字符,Abonné,他认为正是这顶小帽子害得程序成为死循环,于是把它改成英文字符,于是立即神奇般地好了。

  这个法国人还说了一句阿基米德的名言:Eurêka! ,希腊语,我找到了!真是糟蹋先贤。

  实际上这个办法是最害人的。我照着把长达3公里的代码仔细检查,把所有中文都换成英文,结果依然故我。像这样被误导而浪费时间的不止我一个。

  七、个别成功法,又名清除cookies法

  有人骄傲地宣布,解决了wordpress2.6升级后无法登陆的问题,就是清除cookies。我试了,发现这个办法是无效的。

  但这启发了我,有时候你意想不到的办法,反而就是正解。

  八、有效办法,又名土耳其补丁法

  我在彻底绝望的时候,做了几件事:把wordpress2.6删除,换回了wp2.5。

  第二尝试数据库倒裤无果之后,我抱着试试看的办法,找到了这个帖子。

  这是土耳其人写的一个小补丁,他说只对2.3.X版本有效。但根据我的经验,后续版本应该也可以兼容。

  于是我下载了这个插件,http://file.dmry.net/blog/01/wp_user_roles_yama.zip

  解压后,将它放到wordpress安装根目录下。就是这副样子:(http://your_blog_url../wp_user_roles.php)

  然后敲入上述网址:http://your_blog_url../wp_user_roles.php

  满屏都是字符串。

  等尘埃落定,我不敢相信,我真的做到了,我又可以自由登陆我心爱的WORDPRESS了。)

时间: 2024-11-16 18:13:00

Wordpress无法登陆终极解决方案的相关文章

静态页转换平台(StaticPol)-静态页生成终极解决方案

为什么要生成静态页? 这个问题咱们就不多说了,他的优点只有一个,大大提高网站性能,对于数据量大.访问量大的网站不采用静态页输出的解决方案,恐怕真受不了了.缺点就不说了,一 大堆....不过单这一个优点就值得我们研究一番.下面咱们讨论一下静态页生成方案的常规处理方式和 StaticPol 灵活的处理方式,对他们进行一个比较. 说他是一个平台的理由: 常规方式:在每个程序中为静态页生成写相应的模块(程序),执行对应的更新,而且一般都是手动更新(首页.分类页.信息页),好麻烦,即使是定时更新,也要写

UI开发的终极解决方案

呵呵,有点标题党的意思,但是如果你正在寻找UI解决方案,你一定不会白来的. 虽然没有直接开发前台界面,但是好呆也看了这么些年,碰到许多关于UI的问题: UI中JS的引入与顺序,JS合并的问题 UI中css的引入与顺序,CSS合并的问题 UI中碰到性能问题时的影响范围,比如:一个树出现问题,要改动许多用到树的地方 代码重复的问题,同样的内容在许多地方都有,如果要改动就要改动许多个地方 整体布局调整困难的问题 开发效率的问题 执行效率的问题,前台响应要求速度更快 集群的问题 国际化的问题 ... 这

WordPress中登陆后关闭登陆页面及设置用户不可见栏目_php技巧

用户登录后关闭登录页面WordPress默认的登录页面是:http://WP目录/wp-login.php,登录后会自动跳转到:http://WP目录/wp-admin.现在问题来了,如果用户已经登录,但是它又打开wp-login.php页面,会出现什么样的情况呢?答案是,WordPress不会做任何处理,还是直接给你显示登录窗口: 面对如此冰冷的登录框,用户会感到困惑,我刚刚不是已经登录了吗?怎么还要我输入用户名和密码?所以,用户登录后,我们不该让用户再看到登录框.解决此问题的办法有两个: 去

webapi接口访问验证是否登陆的解决方案!每次访问接口都需要验证用户是否登陆!

问题描述 webapi接口访问验证是否登陆的解决方案!每次访问接口都需要验证用户是否登陆! webapi接口访问验证是否登陆的解决方案!每次访问接口都需要验证用户是否登陆! 解决方案 不明白,可以说的明白点么 解决方案二: 就是用户在每次访问接口的时候要在接口中验证是否登陆过,登陆过就可以访问,没有登录就返回没有登录的信息! 解决方案三: 通过session ID等作为参数 解决方案四: 谁有设计思路啊,完全不知道怎么处理了! 解决方案五: 用wenbservice,不是有sessioniD吗?

Android软键盘挡住输入框的终极解决方案_Android

前言 开发做得久了,总免不了会遇到各种坑. 而在Android开发的路上,『软键盘挡住了输入框』这个坑,可谓是一个旷日持久的巨坑--来来来,我们慢慢看. 入门篇 最基本的情况,如图所示:在页面底部有一个EditText,如果不做任何处理,那么在软键盘弹出的时候,就有可能会挡住EditText. 对于这种情况的处理其实很简单,只需要在AndroidManifest文件中对activity设置:android:windowSoftInputMode的值adjustPan或者adjustResize即

VS2010“当前不会命中断点。还没有为该文档加载任何符号”寻觅终极解决方案

问题描述 问题如图中所示,在网上找了多种方法依旧无法解决,项目的的确确是在dubug模式下运行的,可有的代码就是无法被断点命中,调试起来诸多不便. 解决方案 解决方案二:关闭vs重新打开再试试.解决方案三:是附加到进程调试的时候出现的?那得重新再弄下,或者关闭在看下解决方案四:此问题源于我对自己做的项目的无知所致,之前是做j2ee开发的,公司几年前的项目需要升级,无奈在学校里学了些.net,就交给我升级,不料对.net确实有许多不懂的地方.以前发帖总是石沉帖海,这次有幸被回答,非常感谢!我的终极

Android Studio 升级到3.0后输入法中文状态下无法选词的终极解决方案

AndroidStudio终于出3.0正式版了,内置了kotlin(虽然我安了插件一直能用).一直忍着没敢下rc版的好奇猫,总算装了正式版.当然,伴随每次大版本更新,总有一些恼人的后遗症,其中以gradle问题最多.AS3.0要求gradle版本在3.5以上,配置文件内将标准版本指定为gradle-4.1-milestone-1. 之前用的是AS2.3,在稳定版3.0发布之后由于好奇,就更新到了3.0.但是,除了Android Profiler分析器+自我感觉native编译速度加快以外,其他的

wordpress后台登陆密码找回方法

若只是忘记密码,但还记得邮箱的话,那就很好办,但是如果你连邮箱账号都忘记的话,那就稍微有点麻烦了,方法如下: 1.进入自己的服务器后台,登陆phpmyadmin,登陆后第一步是选择数据库,一般虚拟主机都带有phpmyadmin.选择要修改的数据库,找到用户表(WP默认用户表是wp_users). 2.然后找到密码字段(user_pass),修改密码字段值(即MD5密码),修改密码字段值(即MD5密码)为: 5d41402abc4b2a76b9719d911017c592 3.回到WordPres

Mysql在debian系统中不能插入中文的终极解决方案_Mysql

在debian环境下,彻底解决mysql无法插入和显示中文的问题 Linux下Mysql插入中文显示乱码解决方案 mysql -uroot -p 回车输入密码 进入mysql查看状态如下: 默认的是客户端和服务器都用了latin1,所以会乱码. 解决方案: mysql>user mydb; mysql>alter database mydb  character set utf8;! 上文提到了用临时方法更改数据库的字符集设置,显示中文,但是后来发现在有的系统下并不能成功. 比如我用的debi