私はlocalhostで動作しているwordpressのバージョンを持っていて、それらをリモートサーバーに移動しようとしました。
私は別のワードプレスが同じサーバーにインストールされているし、接頭辞wp1_に現在のテーブルの名前を変更しようとしたように
ローカルデータをSQLファイルにエクスポートしました。その後、私は検索してすべてのテーブル名をwp_に変更し、それらをwp1_に変更して私のサーバーにインポートしました。
その後、私は管理者パネルにログインしようとした、それは次のエラーをスローします
" You do not have sufficient permissions to access this page. "
私はいくつかのフォーラムを検索し、wp_で始まるwp1_optionsとwp1_usermetaのメタキーの値を変更しようとしました
それでもまだログインできませんでした。
そしてこれについての考え?
注:私はwp-configと関連する詳細を変更しました、そしてフロントエンドはうまく動いています。
これは通常、テーブルプレフィックスが手動で変更されたが、いくつかの変更が見落とされていたときに起こります。
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_%'
テーブルプレフィックスの変更 の下のコーデックスには、データベースプレフィックスを変更した後にユーザーを修正するために実行する必要のある必要なクエリがリストされます。
UPDATE 'newprefix_usermeta' SET 'meta_key' = REPLACE( 'meta_key' , 'oldprefix_', 'newprefix_' );
必要な手順は次のとおりです。
Wp-config.phpで、$table_prefix = ‘wp_’;
を新しいプレフィックスに変更します。例えば。 $table_prefix = ‘mynewprefix_’;
。
データベースファイルで、テキストエディタかphpmyadmin(インポートを既に実行している場合は後者)を使用して、すべてのテーブルプレフィックスを変更します。インポートの前にこれを実行したようです。インポートされたテーブル名を変更するためのMySQLコマンドを知っています(おそらくMySQL Workbenchを介して)。
次のデータベースエントリでは、プレフィックスを変更する必要があります(テーブル別)。
wp_user_roles => mynewprefix_user_roles
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がデータベース全体について言及しました。
テーブルの名前を変更する代わりに、新しいデータベースを作成してwp-config.phpを変更するだけです。より多くのデータベースを作成することができる限り、それははるかに簡単な解決策です。