web-dev-qa-db-ja.com

ローカルホストからサーバへワードプレスを移動すると、管理パネルアクセスエラーが発生しますか?

私はlocalhostで動作しているwordpressのバージョンを持っていて、それらをリモートサーバーに移動しようとしました。

私は別のワードプレスが同じサーバーにインストールされているし、接頭辞wp1_に現在のテーブルの名前を変更しようとしたように

ローカルデータをSQLファイルにエクスポートしました。その後、私は検索してすべてのテーブル名をwp_に変更し、それらをwp1_に変更して私のサーバーにインポートしました。

その後、私は管理者パネルにログインしようとした、それは次のエラーをスローします

" You do not have sufficient permissions to access this page. "

私はいくつかのフォーラムを検索し、wp_で始まるwp1_optionsとwp1_usermetaのメタキーの値を変更しようとしました

それでもまだログインできませんでした。

そしてこれについての考え?

注:私はwp-configと関連する詳細を変更しました、そしてフロントエンドはうまく動いています。

3
Vijay

これは通常、テーブルプレフィックスが手動で変更されたが、いくつかの変更が見落とされていたときに起こります。

User_metaテーブルに移動して、meta_key列を見てください。 wp_capabilitiesなどのフィールドがwp1_プレフィックスを使用するように変更されているかどうかを確認してください。また、wp1_optionsテーブルを調べて、user_rolesがwp1_user_rolesに変更されていることを確認してください。

テーブルのプレフィックスを手動で変更すると、user_metaのこれらのフィールドのプレフィックスは変更されないことがよくあります。

能力

user_level

ユーザー設定

user_settings_time

全部チェックしてください。このSQLクエリを実行して、変更されていないものをすばやく識別できます。

SELECT * FROM `wp1_usermeta` WHERE `meta_key` LIKE '%wp_%'
1
Elpie

テーブルプレフィックスの変更 の下のコーデックスには、データベースプレフィックスを変更した後にユーザーを修正するために実行する必要のある必要なクエリがリストされます。

UPDATE 'newprefix_usermeta' SET 'meta_key' = REPLACE( 'meta_key' , 'oldprefix_', 'newprefix_' );
1
Rarst

必要な手順は次のとおりです。

  1. Wp-config.phpで、$table_prefix = ‘wp_’;を新しいプレフィックスに変更します。例えば。 $table_prefix = ‘mynewprefix_’;

  2. データベースファイルで、テキストエディタかphpmyadmin(インポートを既に実行している場合は後者)を使用して、すべてのテーブルプレフィックスを変更します。インポートの前にこれを実行したようです。インポートされたテーブル名を変更するためのMySQLコマンドを知っています(おそらくMySQL Workbenchを介して)。

  3. 次のデータベースエントリでは、プレフィックスを変更する必要があります(テーブル別)。

(以前)wp_options

wp_user_roles => mynewprefix_user_roles

(以前)wp_usermeta

wp_capabilities => mynewprefix_capabilities [recurring based on no. of users]

wp_user_level  => mynewprefix_user_level [recurring based on no. of users]

wp_usersettings => mynewprefix_usersettings

wp_usersettingstime => mynewprefix_usersettingstime

wp_autosave_draft_ids => mynewprefix_autosave_draft_ids

wp_metaboxorder_dashboard => mynewprefix_metaboxorder_dashboard

NBいくつかのプラグインやテーマでは、変更が必要なエントリやテーブルを追加することがありますが、 クエリを実行できます これをチェックするためにElpieがデータベース全体について言及しました。

1
joelhaus

テーブルの名前を変更する代わりに、新しいデータベースを作成してwp-config.phpを変更するだけです。より多くのデータベースを作成することができる限り、それははるかに簡単な解決策です。

0
anu