プラグインのインストールや更新時に「このページにアクセスする権限がありません。」と表示される不具合のご依頼です。
サーバーはロリポップでした。
目次
原因
データベースのテーブル接頭辞(プレフィックス)が統一されていないことが原因です。
WordPressはデフォルトで wp_ という接頭辞を使いますが、セキュリティ対策や移管作業の際に接頭辞を変更することがあります。このとき wp_usermeta テーブル内の一部のキー名が古い接頭辞のままになっていると、権限の読み取りに失敗し「アクセスする権限がありません」というエラーが出ます。
復旧作業
phpMyAdminで wp_usermeta テーブルを開き、以下のキー名を新しい接頭辞に合わせて書き換えます。
接頭辞を wp_ から wp1_ に変更した場合の例:
wp_capabilities→wp1_capabilitieswp_user_level→wp1_user_levelwp_dashboard_quick_press_last_post_id→wp1_dashboard_quick_press_last_post_idwp_user-settings→wp1_user-settingswp_user-settings-time→wp1_user-settings-time
これらを正しい接頭辞に統一することでエラーが解消されます。
このエラーが起きやすいタイミング
サーバー移管時にデータベースを再構築した際、セキュリティ対策でテーブル接頭辞を変更した際などに発生しやすいです。移管作業や接頭辞変更を行う場合は、wp_usermeta テーブルのキー名も合わせて変更することを忘れないようにしてください。
作業に不安がある場合はご相談ください。

