Php 移动服务器后Wordpress管理员登录cookies被阻止错误
背景:在olddomain.com上有一个运行Wordpress 3.7的网站 我成功地将其移动到newdomain.com,并在此过程中将其添加到wp config: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
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上找到。有关更多信息,请参阅此链接: 重要注意事项:
我也有同样的问题,情况和规格都非常相似
最终,在尝试了各种在线建议的解决方案后,我通过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错误,所以我就是这样修复它的
干杯 如果更新数据库表上的所有选项(通常为
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' ] );