web-dev-qa-db-fra.com

Le déplacement de wordpress de localhost vers le serveur;

J'ai une version de travail de wordpress dans localhost et j'ai essayé de les déplacer vers le serveur distant.

Comme j'ai un autre wordpress installé sur le même serveur et essayé de renommer les tables actuelles avec le préfixe wp1_

J'ai exporté mes données locales dans un fichier SQL. Après cela, j'ai cherché et renommé chaque nom de table avec wp_ et je les ai modifiés en wp1_ et importés sur mon serveur.

Après que j'ai essayé de me connecter au panneau d'administration, l'erreur suivante est générée

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

J'ai cherché dans certains forums et j'ai essayé de changer les valeurs de la clé méta dans les wp1_options et wp1_usermeta, qui commençaient par wp_

Encore après cela, je ne pouvais pas me connecter.

Et des idées à ce sujet?

Remarque: j'ai modifié wp-config et les détails associés et l'interface fonctionne correctement.

3
Vijay

Cela se produit généralement lorsque le préfixe de la table est modifié manuellement mais que certaines modifications ont été négligées.

Accédez à votre table user_meta et consultez la colonne meta_key. Vérifiez si des champs tels que wp_capabilities ont été modifiés pour utiliser le préfixe wp1_. Consultez également votre table wp1_options pour vérifier que les rôles utilisateur ont été remplacés par wp1_user_roles.

Lorsque le préfixe de la table est modifié manuellement, les préfixes de ces champs dans user_meta restent souvent inchangés:

capacités

niveau de l'utilisateur

paramètres utilisateur

user_settings_time

Vérifiez-les tous. Vous pouvez identifier rapidement ceux qui n'ont pas été modifiés en exécutant cette requête SQL:

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

Codex sous Modification des préfixes de table répertorie les requêtes suivantes nécessaires à exécuter pour corriger les utilisateurs après la modification du préfixe de la base de données:

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

Voici les étapes requises:

  1. Dans wp-config.php, remplacez $table_prefix = ‘wp_’; par votre nouveau préfixe. Par exemple. $table_prefix = ‘mynewprefix_’;.

  2. Dans votre fichier de base de données, via l'éditeur de texte ou phpmyadmin (ce dernier si vous avez déjà effectué l'importation), modifiez chaque préfixe de table ... cela ressemble à ce que vous aviez déjà fait avant l'importation (ce qui est bien, car connaître la commande MySQL pour changer les noms de table une fois importées, sauf peut-être via MySQL Workbench).

  3. Le préfixe doit être modifié pour les entrées de base de données suivantes (organisé par table):

(Précédemment) wp_options

wp_user_roles => mynewprefix_user_roles

(Précédemment) 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 Certains plugins et certains thèmes peuvent ajouter des entrées/tables supplémentaires qui doivent également être modifiées, mais vous pouvez exécuter la requête mentionné par Elpie sur l'ensemble de la base de données pour vérifier cela.

1
joelhaus

Au lieu de renommer les tables, créez simplement une nouvelle base de données et modifiez votre fichier wp-config.php. C'est une solution beaucoup plus simple, tant que vous pouvez créer plus de bases de données.

0
anu