web-dev-qa-db-ja.com

ログインできません:「エラー:クッキーがブロックされているか、ブラウザでサポートされていません。ワードプレスを使用するにはクッキーを有効にする必要があります。」

サーバーを移動した後、私は自分のサイトにログインできません。 「エラー:クッキーがブロックされているか、ブラウザでサポートされていません。ワードプレスを使用するにはクッキーを有効にする必要があります。」と表示されます。ログインフォームを送信しようとするとエラーが発生します。

私のブラウザはクッキーをサポートしており、ブロックされていないことを確信しています。

私はこれをかなり徹底的に研究して、私が見つけたあらゆる提案を試みました:

  • pluginsディレクトリの名前を変更
  • サイトテーマディレクトリの名前を変更
  • データベースで前のURLのインスタンスを検索し、それらを新しいURLに置き換えます。
  • wordPressを最新バージョンにアップデート(4.0)
  • wp-config.phpでWP_HOMEとWP_SITEURLを定義しました
  • wp-config.phpにADMIN_COOKIE_PATH、COOKIE_DOMAIN、COOKIEPATH、およびSITECOOKIEPATHを設定します。

    define('ADMIN_COOKIE_PATH', '/');
    define('COOKIE_DOMAIN', '');
    define('COOKIEPATH', '');
    define('SITECOOKIEPATH', '');
    
  • wp-login.phpにこのハッキングを試みた: https://wordpress.org/support/topic/cookies-are-blocked-or-not-supported-by-your-browser-1#post-5026171

私は自分のローカルインストールでそのサイトにログインすることができ、私たちの開発サーバーのそのサイトにログインすることができます。何がこれを引き起こしている可能性がありますか?

13
Sarah German

それはワニスでした。

私たちのウェブホストはDrupal特有の方法でVarnishをセットアップしていました、そしてそれはWordPressがログインを扱うために使うクッキーを除外していました。

3
Sarah German

/ *の前にwp-config.phpの下に以下の行を追加してください。これですべてです、編集を中止します!... * /

 define('COOKIE_DOMAIN', $_SERVER['HTTP_Host'] );

/* That's all, stop editing! Happy blogging. */
23
wpdevramki

私はグーグルになり、このクッキーの問題を取り除くためにあらゆる方法を試しました。最後に私はあなたを助けることができる2つの解決策を見つけました。

解決策1:

yoursite/wp-login.php

行770-773の後にコメントする

コード

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);

一部のWebサイトでは機能する可能性があり、一部のサイトでは空白のページが表示される可能性があります。さらに、このファイルはwordpressの更新後に上書きされる可能性があるため、これはお勧めできません。そのため、2番目の解決策を試してください。

解決策2:

yoursite/wp-content/themes/yourthemeFolder/functions.php

次のコードを配置してください。

 setcookie(TEST_COOKIE, 'WP Cookie check', 0, COOKIEPATH, COOKIE_DOMAIN);
if ( SITECOOKIEPATH != COOKIEPATH )
    setcookie(TEST_COOKIE, 'WP Cookie check', 0, SITECOOKIEPATH, COOKIE_DOMAIN);

テーマを更新するとこれらの変更も失われる可能性があるため、このコードを現在アクティブなテーマのchild-themeフォルダの下にある別のfunctions.phpに配置してください。願って、これはあなたを助けるでしょう。

1
Raj

私は最近この問題を抱えていましたが、ドメイン名はウェブサイトに向けられていましたが、wordpressマルチサイトはデータベースにドメイン名を正しいブログにマッピングするレコードを持っていなかったので、wordpressが設定しようとしたときクッキー、それはマッピングドメインの代わりにサブドメインのクッキーを設定していました。

1
Terry Kernan