web-dev-qa-db-ja.com

Wordpressを移動した後、ログインは機能しますが、管理者アクセスはもうありません

wordpressを古いISPから新しいISPに転送した後、管理者アクセス/ダッシュボードへのアクセスに問題があります。

転送は、すべてのファイル(.htaccessを含む)を古いサーバーから新しいサーバーにコピーし、古いDBをダンプして新しいサーバーに配置し、wp-config.phpでDBのすべての設定を調整することによって行われました。

マシンにホストエントリを設定することで、すべてが正常に機能し、すべてのコンテンツが表示されることを確認できました。

これが私の問題です。

古いクレデンシャルと新しいクレデンシャル(たとえば、手動で追加された管理者アカウント)を使用してwp-login.phpからログインした後、ログインが発生し、Webサイトにリダイレクトされ、ページ上部のログインバーでログインが成功したと表示されますが、ダッシュボードは述べることによって禁止されています。

Sorry, you are not allowed to access this page.

ログインバーには、wordpress.comにアクセスするかログアウトする以外のオプションはほとんどありません。

これはおそらく小さなことであり、正しい方向に私を指し示す人が必要です。

12
David

これは、DBテーブル名に独自のプレフィックスを使用する場合のWordpress 4.6.1内のバグであることがわかります。

Wp_プレフィックスに名前を変更し、テーブル名を変更すると動作します。

6
David

私にぴったりのソリューションを見つけました。

データベースの新しいサーバーへの移行に問題はありませんでしたが、移行プレフィックスが古いデータベースと新しいデータベースで異なる場合、問題が発生します!

元のデータベースプレフィックスはwp_71XXXXXX28 _のようなもので、新しいインストールではwp _を使用していました。プレフィックスを変更すると、データ部分のみが解決されますが、ログインの問題はそのまま残ります。

したがって、単にwp_71XXXXXX28 _のphpmyadmin検索オプションを使用して、すべてのテーブルで古いプレフィックスを検索し、レコードをwp _に変更します。

注:wp_userで5〜6個の一致を見つけ、wp_optionで1個の一致を見つけました。

18
Sanam Patel

問題は手動で作成された管理者アカウントにあるようです。表示されているエラーメッセージは、ユーザーに割り当てられた権限に問題があることを示唆しています。

アカウントを手動で追加するために行った手順について詳しく教えてください。

ユーザーを直接usersテーブルに追加したと思いますが、追加した後、usermetaテーブルに機能とユーザーレベルの情報を追加しましたか?

例として、ユーザーを作成する場合、クエリを実行してwp_usersテーブルにユーザーを挿入します(もちろん、標準のテーブルプレフィックスを使用していると仮定します)。

次に、新しく作成したユーザーのIDを取得し、それを使用して2つの新しい行をwp_usermetaに挿入します。

umeta_idはNULLで、user_idは両方のエントリの新しいユーザーのIDである必要があります。

1)
meta_key: wp_capabilities
meta_value: a:1:{s:13:"administrator";s:1:"1";}

2)
meta_key: wp_user_level
meta_value: 10

さらに読む: http://www.wpbeginner.com/wp-tutorials/how-to-add-an-admin-user-to-the-wordpress-database-via-mysql/

7
Nathan Dawson

これは、テーブル名を手動で変更してからこのエラーが表示されたためです。また、テーブルプレフィックスを「meta_key」列の「usermeta」テーブルに変更します。

に変更する前の接頭辞

  • yourPrefix_capability
  • yourprefix_user_level
  • yourprefix_user-settings
  • yourprefix_user-settings-time

あなたの問題は解決されました。

7
Anjani Barnwal

また、移行後にこのメッセージが表示されました。

データベースのプレフィックスは大文字と小文字が区別されるようです。完全に一致しない場合、管理ページにアクセスしようとするとポップアップされます。

Config.phpを確認し、テーブルプレフィックスとして正確に設定してください。

PhpMyAdminを使用してテーブルをチェックする場合、データベースツリー内のすべてのテーブル名は小文字で表示されることに注意してください。私の場合、予期されるプレフィックスはすべて大文字でした。


phpMyAdminイメージ: phpMyAdmin

画像内の正しいプレフィックスは、使用すべきものです。

「<prefix> _usermeta」テーブルを使用して、プレフィックスWP expected。

2
uu01

元のwordpress=サイトのダンプされた.sqlファイルで検索と置換を使用して、新しいサイトで使用する場合、すべてをカバーしていることを確認してください。同じ問題が発生し、wp_usermetaテーブルmeta_keyカラムで、古いテーブルプレフィックスにちなんで名付けられたいくつかのキーを発見しました。

0
Nelu