6

実稼働の Wordpress ブログのローカル コピーをセットアップしようとしています。実稼働環境では、私はユーザーですが管理者ではないため、自分自身をローカルで管理者に変更しようとしています。このブログ投稿の指示に従って自分を管理者にしたので、次の SQL クエリを実行しました。

INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}');
INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'wp_user_level', 10);

その後、ブラウザの Cookie をクリアして再度ログインしましたが、移動しようとするとhttp://localhost/wp-admin「このページにアクセスするための十分な権限がありません」というメッセージが表示されました。APC キャッシュ ファイルを削除し、Nginx と PHP-FPM をリロードしましたが、何も変わりませんでした。他に試してみることを知っている人はいますか?

4

3 に答える 3

11

capabilitiesと値を設定するには、データベースのプレフィックスと一致する必要がありuser_levelます。meta_keyデフォルトでは、これはwp_(結果としてwp_capabilitiesand wp_user_level) になりますが、接頭辞がないため、場合によっては異なります。適切なcapabilities値はa:1:{s:13:"administrator";s:1:"1";}です。

-- delete any existing values for this user
DELETE FROM usermeta WHERE user_id=376 AND (meta_key LIKE '%capabilities' OR meta_key LIKE '%user_level')
-- insert the capabilities and user_level for user_id 376
INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
INSERT INTO usermeta(user_id,meta_key,meta_value) VALUES(376, 'user_level', 10);
于 2012-10-27T00:27:48.357 に答える
4

ユーザー名とパスワードをすでに持っている場合は、機能とロールをデータベースに更新するだけです。

wp_user テーブルに移動し、そこから ID を見つけます。つまり、私の場合は 2 です。次に wp_usermeta に移動し、meta_key = wp_capabilities と user_id - 2 を探します。その行を編集し、meta_value を次のように変更します。

a:1:{s:13:"administrator";s:1:"1";}.

再度、meta_key = wp_user_level および user_id = 2 に移動します。その行を編集して、meta_value を 10 に変更します。user_id が自分のものではない他の行を変更しないでください。

私の wp_users テーブルを参照してください。 IDを探す

私の wp_usermeta テーブルを参照してください。 能力と役割を探す

次のような 2 つのクエリが実行されます。

UPDATE `wp_usermeta` SET `meta_value` = '10' WHERE `wp_usermeta`.`umeta_id` =27;

UPDATE `wp_usermeta` SET `meta_value` = 'a:1:{s:13:"administrator";s:1:"1";}' WHERE `wp_usermeta`.`umeta_id` =26;
于 2012-10-26T21:41:27.120 に答える