Das Verschieben von WordPress von localhost auf Server führt zu einem Zugriffserrors im Admin-Panel.

Ich habe eine funktionierende Version von WordPress in localhost und ich habe versucht, sie auf den Remote-Server zu verschieben.

Da ich ein anderes WordPress auf dem gleichen Server installiert habe und versucht habe, die aktuellen Tabellen in das Präfix wp1_ umzubenennen

Ich habe meine lokalen Daten in eine SQL-Datei exportiert. Danach habe ich jeden Tabellennamen mit wp_ gesucht und umbenannt und in wp1_ geändert und auf meinen Server importiert.

Nachdem ich versucht habe, mich im Admin-Panel anzumelden, wird der folgende Fehler ausgegeben

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

Ich habe einige Foren durchsucht und versucht, die Werte des Metaschlüssels in den wp1_options und wp1_usermeta, die mit wp_ gestartet wurden, zu ändern.

Trotzdem konnte ich mich nicht einloggen.

Und Ideen dazu?

Hinweis: Ich habe die wp-config und die zugehörigen Details geändert und das Frontend funktioniert gut.

Solutions Collecting From Web of "Das Verschieben von WordPress von localhost auf Server führt zu einem Zugriffserrors im Admin-Panel."

Dies geschieht normalerweise, wenn das Tabellenpräfix manuell geändert wird, aber einige Änderungen wurden übersehen.

Gehen Sie zu Ihrer Tabelle user_meta und sehen Sie sich die Spalte meta.key an. Überprüfen Sie, ob Felder wie wp_capabilities geändert wurden, um das Präfix wp1_ zu verwenden. Schau auch in deiner wp1_options-Tabelle nach, ob user_roles in wp1_user_roles geändert wurde.

Wenn das Tabellenpräfix manuell geändert wird, bleiben die Präfixe für diese Felder in user_meta oft unverändert:

Fähigkeiten

Benutzerlevel

Benutzereinstellungen

user_settings_time

Überprüfe sie alle. Sie können schnell feststellen, welche nicht geändert wurden, indem Sie diese SQL-Abfrage ausführen:

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

Codex unter Ändern von Tabellenpräfixen listet folgende erforderliche Abfrage auf, die ausgeführt wird, um Benutzer nach dem Ändern des databasepräfixes zu reparieren:

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

Hier sind die erforderlichen Schritte:

  1. Ändern Sie in wp-config.php $table_prefix = 'wp_'; zu deinem neuen Präfix. ZB $table_prefix = 'mynewprefix_'; .

  2. In deiner databasedatei, entweder per Texteditor oder phpmyadmin (letzteres, wenn du den Import bereits durchgeführt hast), ändere jedes Tabellenpräfix … es hört sich so an, als hättest du das schon vor dem Import gemacht (was gut ist, weil ich nicht kenne den MySQL-Befehl, um Tabellennamen nach dem Import zu ändern, außer vielleicht über MySQL Workbench.

  3. Bei den folgenden databaseeinträgen muss das Präfix geändert werden (nach Tabelle sortiert):

(Zuvor) wp_options

 wp_user_roles => mynewprefix_user_roles 

(Zuvor) 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 

Hinweis: Einige Plugins und Themes können zusätzliche Einträge / Tabellen hinzufügen, die ebenfalls geändert werden müssen. Sie können jedoch die von Elpie erwähnte Abfrage für die gesamte database ausführen, um dies zu überprüfen.

Anstatt die Tabellen umzubenennen, erstellen Sie einfach eine neue database und ändern Sie Ihre wp-config.php. Es ist eine viel einfachere Lösung, solange Sie mehr databaseen erstellen können.

Versuchen Sie, alle Ihre WordPress-bezogenen Dateien auf 755 zu chmodieren und dann zu sehen, ob es funktioniert.