Php 移动服务器后Wordpress管理员登录cookies被阻止错误

Php 移动服务器后Wordpress管理员登录cookies被阻止错误,php,wordpress,cookies,Php,Wordpress,Cookies,背景:在olddomain.com上有一个运行Wordpress 3.7的网站 我成功地将其移动到newdomain.com,并在此过程中将其添加到wp config: define('WP_HOME','http://newdomain.com'); define('WP_SITEURL','http://newdomain.com'); 现在,当我尝试从newdomain.com/wp-admin登录时,我遇到了跨浏览器错误(尽管启用了cookie并清除了现有cookie): 我尝试进入w

背景:在olddomain.com上有一个运行Wordpress 3.7的网站

我成功地将其移动到newdomain.com,并在此过程中将其添加到wp config:

define('WP_HOME','http://newdomain.com');
define('WP_SITEURL','http://newdomain.com');
现在,当我尝试从newdomain.com/wp-admin登录时,我遇到了跨浏览器错误(尽管启用了cookie并清除了现有cookie):

我尝试进入wp-login.php并注释掉以下行(744-747)以停止条件testcookie检查

    // If cookies are disabled we can't log in even with a valid user+pass
if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) )
    $user = new WP_Error('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by // your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress."));
else
    $user = wp_signon('', $secure_cookie);

我是否需要更改(或不设置)网站URL?或者是否有其他可能的方法对此进行故障排除?谢谢

假设您在Unix/Linux类型的平台上运行-请确保您已从原始服务器复制了.htaccess文件,并更新了该文件中对旧域的所有引用。它将位于wordpress部署的根目录中(如果您正在使用它)

或者您可能在数据库的wp_options表中的某个位置引用了旧域

请注意,当您从一个域移动到另一个域时,文章中的图像和媒体位置可能需要更新。您可以直接在数据库中执行此操作,使用“查找/替换”实用程序,也可以在帖子中手动重新指向图像。修复帖子数据的另一种方法是从旧站点导出所有帖子(从管理面板中)-工具>导出>所有帖子;然后在导入到新站点之前手动更新该结果文件中的URL

所有这些以及更多内容都可以在codex.wordpress.org上找到。有关更多信息,请参阅此链接:

重要注意事项:

  • 如果要直接修改数据库中的任何内容,请确保阅读有关guid的部分

  • 如果您正在使用,您可能需要执行其他操作,但根据您的描述,我怀疑您是否安装了它


  • 我也有同样的问题,情况和规格都非常相似


    最终,在尝试了各种在线建议的解决方案后,我通过FTP重命名了我的活动主题,然后可以登录到仪表板,我重新命名了我的主题,一切正常,我不知道为什么,但这可能会帮助某人解决他们遇到的问题。

    迁移了数百个WP站点,下面是一些想法:

    如果迁移数据库:请检查数据库选项表(可能是wp_选项)列“option_name”,其中值“siteurl”和“home”对于您的站点具有正确的“option_值”。“siteurl”是巨大的

    我可以证明,选项表调整是将DB迁移到WP中的新域所需的最低要求。(不会导致重定向,仍有问题)

    WP查找这些DB选项以将站点序列化到域,我非常确定这些定义在堆栈中的位置较低,没有任何帮助。考虑WP管理活动松散耦合到前面。你可以打破一切(做了它)在前面和管理员仍将运作

    另外-站点是否使用通用安装/没有迁移或调整

    如前所述-.htaccess(丢失或配置错误)将导致您的错误。关于.htaccess文件,如果使用,这是一个点文件,许多操作系统将“忽略”或“使其不可见”,因此复制/粘贴或FTP应用程序或类似应用程序可能不会携带.htaccess文件


    (这一点很确定)如果你移动了数据库,使用了漂亮的URL,却错过了.htaccess,那么你就只需要修复它了。我刚刚在一个沙箱安装上进行了本地测试,表wp\u option列“option\u name”值“permalink\u structure”在列option\u值留空时将返回到?p=1(非permalink)状态,而.htaccess将大部分被绕过。

    我经历过这一点,是因为我的缓存插件

    W3 Total Cache已将以下内容添加到我的wp-config.php文件中:

    define('COOKIE_DOMAIN', 'www.olddomain.com'); // Added by W3 Total Cache
    
    因为它是硬编码的,所以没有更新到新的站点域。删除添加的代码后(因为我目前没有使用插件),我可以再次登录


    我会检查wp-config.php中的“cookie”一词,看看插件是否添加了类似的内容。

    我遇到了同样的错误

    我在wp-config.php中为一个全新的网站硬编码了Home和SiteURL,甚至没有安装插件

    问题是:我在URL的末尾有一个空格

    define('WP_HOME','http://100.000.000.01/~acctname/wp ');
    define('WP_SITEURL','http://100.000.000.01/~acctname/wp ');
    
    删除空间修复了此错误

    define('WP_HOME','http://100.000.000.01/~acctname/wp');
    define('WP_SITEURL','http://100.000.000.01/~acctname/wp');
    
    添加到wp-config.php

    define('ADMIN_COOKIE_PATH', '/');
    define('COOKIE_DOMAIN', '');
    define('COOKIEPATH', '');
    define('SITECOOKIEPATH', ''); 
    
    //define('WP_CACHE', true); // Added by W3 Total Cache Block this line
    //define("COOKIE_DOMAIN", "www.domain.com"); Block this line
    

    原始资料

    最近几天,这个bug让我发疯,所以我想在修复后与大家分享一下!问题是,当我试图登录到我的wordpress后端时,我遇到了这个恼人的cookies错误,所以我就是这样修复它的

  • 转到您的ftp和您的域
  • 然后去你的wp目录
  • 转到你的主题文件夹
  • 选择活动的主题
  • 查找teem的functions.php并打开它
  • 在代码末尾,你应该看到结束标记p>只需删除它,清除空格并保存它
  • 转到domain.com/wp-login.php
  • 然后尝试登录它应该会被修复。你可以把标签放回原来的位置并再次保存它。这是我的解决方案。这个技巧还解决了wordpress中的白页问题

  • 干杯

    如果更新数据库表上的所有选项(通常为
    wp\u options
    ),但忘记更改
    wp config.php上的
    domain\u CURRENT\u SITE
    行,则将多站点安装移动到新域时也会发生此错误:

    define( 'DOMAIN_CURRENT_SITE', 'yourdomain.com' );
    
    这对我有用

  • 删除
    //定义('COOKIE_DOMAIN','www.DOMAIN.com')
  • 确保所有文件都是ANSI格式,而不是utf-8

  • 我也有同样的问题,什么都不管用。在将我的PHP5.3.x升级到5.4.x之后,它工作得很好。

    我被谷歌搜索并尝试了各种方法
    define( 'DOMAIN_CURRENT_SITE', 'yourdomain.com' );
    
    if ( isset($_POST['testcookie']) && empty($_COOKIE[TEST_COOKIE]) )
        $user = new WP_Error('test_cookie', __("<strong>ERROR</strong>: Cookies are blocked or not supported by your browser. You must <a href='http://www.google.com/cookies.html'>enable cookies</a> to use WordPress."));
    else
        $user = wp_signon('', $secure_cookie);
    
     setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN);
    if ( SITECOOKIEPATH != COOKIEPATH )
        setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);
    
    //define('WP_CACHE', true); // Added by W3 Total Cache Block this line
    //define("COOKIE_DOMAIN", "www.domain.com"); Block this line
    
    object-cache.php 
    advanced-cache.php
    db.php
    
    Undefined index: HTTP_HOST in ../public_html/wp-content/sunrise.php on line 10
    Undefined index: HTTP_HOST in ../public_html/wp-includes/ms-settings.php on line 57
    
    define('ADMIN_COOKIE_PATH', '/');
    define('COOKIE_DOMAIN', '');
    define('COOKIEPATH', '');
    define('SITECOOKIEPATH', ''); 
    
    define( 'COOKIE_DOMAIN', $_SERVER[ 'HTTP_HOST' ] );