自己的WordPress网站,crifan.com
现在,确保用户名和密码都没问题的情况下,却无法登录了
去VPS看了看空间占用, 没问题:
[root@crifan ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 79G 27G 49G 35% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 201M 1.7G 11% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 379M 0 379M 0% /run/user/0
那重启一下看看
难道是php进程出问题了?
那本书页面访问没问题,所以不应该啊
重启后问题依旧。
突然想到,好像有个repair的页面的?
can not login to wordpress admin
Login Trouble | WordPress.org
去试试:
【未解决】去修复WordPress登录页死循:缓存方面问题
然后去:
【未解决】修复WordPress登录页死循环:cookie方面问题
去试试:
【未解决】去修复WordPress登录页死循:repair修复
去试试:
【未解决】去修复WordPress登录页死循:setcookie函数
访问后台会自动跳转到登录页面:
换个Chrome去登录试试
问题依旧。
Safari中直接访问
期间后来注意到,是可以跳转到
但是很快就又跳转到登录页了:
Possible fix for sudden redirect loop at wp-login with reauth=1 – page 2 | WordPress.org
去数据库中看看,是否有异常cookie相关,然后去删除
那再去看看,是否是磁盘空间满了导致的?
记得很久之前,登录死循环的问题,是遇到过,由于磁盘空间慢了导致的
但是最近几次,已经彻底解决磁盘空间问题了。不应该,不太可能是这方面的问题了。
再去确认看看
[root@crifan ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/vda1 79G 28G 48G 37% / devtmpfs 1.9G 0 1.9G 0% /dev tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs 1.9G 193M 1.7G 11% /run tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup tmpfs 379M 0 379M 0% /run/user/0
还有很多空间。不是这个问题。
再次重启VPS。
再去试试:
【未解决】去修复WordPress登录页死循环:看看phpMyAdmin数据库
先去根目录看看:
.htaccess
看看内容:
RewriteEngine on RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
删除了根目录的
.htaccess
另外也去看看
wp-admin目录中是否有
.htaccess
看了是没有的:
结果问题依旧。
目前感觉:更像是:后台代码逻辑,或密码验证方面的问题
试试 忘记密码
结果:
请输入您的用户名或电子邮箱地址。您会收到一封包含重设密码指引的电子邮件。 错误:未能发送电子邮件。您的主机可能未获正确配置。获得关于重设您的密码的帮助。
感觉应该去:找背后的WordPress、php、mysql的log,找其中可疑的部分
去试试:
REDbot: <https://www.crifan.com/>
HTTP/1.1 200 OK Server: Tengine Date: Fri, 30 Oct 2020 13:59:48 GMT Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Vary: Accept-Encoding Vary: Accept-Encoding, Cookie Link: <https://www.crifan.com/wp-json/>; rel="https://api.w.org/" Strict-Transport-Security: max-age=15768000 response headers: 327 bytes body: 0 bytes transfer overhead: 3 bytes General * The server's clock is correct. Caching * This response allows all caches to store it. * This response allows a cache to assign its own freshness lifetime.
Possible fix for sudden redirect loop at wp-login with reauth=1 – page 2 | WordPress.org
“the looping login can also happen when you run out of disk space and the database can not write to the database during authentication.”
【未解决】去修复WordPress登录页死循环:去看php的log日志
其中:
【已解决】WordPress的PHP的log日志出现:PHP message RedisException OOM command not allowed when used memory maxmemory in plugins redis-cache
解决了问题。
然后去恢复一些内容:
还原:.htaccess
以及再去处理后续事情:
【未解决】WordPress后台中清理垃圾评论
另外还是去:
【未解决】Mac中SecureCRT通过ssh访问Vultr的VPS服务器太慢
【总结】
此处尝试登录WordPress后台管理页:
跳转到登录页:
在输入了正确的用户和密码后,始终跳转回登录页:
之后就是死循环,无法登录
经过各种尝试:
- 确定不是服务器的磁盘空间满了导致的
- 清除浏览器(Chrome、Safari)缓存数据
- 包括:清除cookie
- Chrome:Application-》Clear Storage->Clear site data
- 设置(Chrome、Safari)浏览器不禁止cookie
- 设置允许自己的 crifan.com使用cookie
- WordPress的repair修复
- wp-includes/pluggable.php
- 修改setcookie中:ADMIN_COOKIE_PATH -> SITECOOKIEPATH
- 也去通过phpMyAdmin看了看数据库
- siteurl和home 都没问题
- 清除了session_tokens的值
- 删除了根目录的.htaccess和子目录的.htaccess
- wp-config.php中尝试设置了
- WP_HOME和WP_SITEURL
- FORCE_SSL_ADMIN
- WP_DEBUG
- WP_CACHE
- 确认php.ini中的 输出缓冲区数据块设置 output_buffering
- wp-content
- 通过重命名plugins,禁止了所有插件
- 通过重命名themes,禁止了所有主题
最后是:
- 从php的log文件(/usr/local/php/var/log/php-fpm.log)中看到了:RedisException OOM
- 最终找到原因:redis的缓存满了
- 导致:无法缓存保存(验证了正确的用户和密码后所产生的)新的cookie
- 导致(虽然生成了正确的cookie但还是)无法登录
解决办法是:
- 增加最大缓存大小
- 更改内存策略
- 把 默认的 不剔除过期数据:maxmemory-policy noeviction
- 改为 剔除过期中最近最少使用的数据:maxmemory-policy volatile-lru
详见:
【已解决】WordPress的PHP的log日志出现:PHP message RedisException OOM command not allowed when used memory maxmemory in plugins redis-cache