在登录页面上显示“您的浏览器已阻止或不支持Cookie”

时间:2016-09-12 作者:Lucio Crusca

我在安装了WPserver-a.example.com服务器a)我想在另一台服务器上复制它,该服务器是server-b.example.com (服务器B)。

我的步骤是:

复制数据库无需编辑wp-config.php (数据库详细信息完全相同,localhost相同用户相同密码)

  • 使用将serverA域替换为serverB域替换到数据库中this tool
  • 服务器B的克隆似乎可以工作,但我遇到了两个问题:

    我无法登录wp-admin 因为我收到错误cookie被阻止或不受浏览器支持`

    WordPress更改了活动主题现在我想了解问题2背后的原因,但暂时别说了,我只报告了它,因为它可能是提示您找出真正的问题。

    问题是如何登录?不用说,我的浏览器确实支持cookie,我也尝试过使用不同的浏览器。我尝试过通过SQL重置管理员密码(以防万一),但它仍然会用cookies消息阻止我。

    P、 我不确定这个问题是否属于这里或服务器故障或其他问题,请根据需要移动它。

    编辑:

    这不是重复的,因为the other existing question 不适用于我的情况:我的服务器上没有Varnish/NGINX/Squid/other反向代理。

1 个回复
最合适的回答,由SO网友:Dave Romsey 整理而成

讨论了一些需要检查的问题:

@奥托对此发表评论post

查看登录页面的HTML源代码。在初始DOCTYPE行之前是否有任何内容?甚至是空行?如果是这样,那么您就有一些代码在创建标头之前创建输出,在这种情况下,这会阻止它设置cookie。

来自的一些建议a highly relevant post with several additional ideas 堆栈溢出:

(我知道你说过没有必要改变wp-config.php 文件,但可能存在对旧域的引用。请确认这不是必需的。)

验证URL是否正确siteurlhomewp_options 桌子通过将以下内容添加到wp-config.php:

define(\'WP_HOME\',\'http://your-domain.com\');
define(\'WP_SITEURL\',\'http://your-domain.com\');
检查wp-config.php 对于设置不当DOMAIN_CURRENT_SITE 常数

define( \'DOMAIN_CURRENT_SITE\', \'yourdomain.com\' );
如果W3 Total Cache插件正在使用中,请暂时从插件目录中删除该插件,并确保以下行已注释掉/删除自wp-config.php:

define(\'WP_CACHE\', true);
define("COOKIE_DOMAIN", "www.domain.com");
然后,从中删除以下文件wp-content 目录:

w3-total-cache-config.php 
object-cache.php 
advanced-cache.php
db.php