Après avoir transféré une application wordpress d'un ancien fournisseur de services Internet à un nouveau, j'ai des problèmes d'accès administrateur/au tableau de bord.
Le transfert a été effectué en copiant tous les fichiers (y compris .htaccess) de l'ancien serveur sur le nouveau serveur, en déchargeant l'ancienne base de données, en la plaçant sur le nouveau serveur et en ajustant tous les paramètres de la base de données dans wp-config.php.
En définissant une entrée d'hôtes sur ma machine, je pouvais vérifier que tout fonctionnait bien et que tout le contenu apparaissait.
Voici mon problème.
Après vous être connecté via wp-login.php avec les anciennes et les nouvelles informations d'identification (compte d'administrateur ajouté manuellement, par exemple), la connexion est en cours, elle me redirige vers le site Web, indiquant que la connexion a réussi avec la barre de connexion en haut de la page, mais l'accès le tableau de bord est interdit en indiquant.
Sorry, you are not allowed to access this page.
De plus, la barre de connexion ne propose pratiquement aucune option, à l'exception d'aller sur wordpress.com ou de se déconnecter.
C'est probablement juste une petite chose et j'ai juste besoin de quelqu'un qui me dirige dans la bonne direction.
Il s'avère qu'il s'agit d'un bogue dans Wordpress 4.6.1 lorsque vous utilisez votre propre préfixe pour les noms de table de base de données.
Renommez wp_ prefix et changez les noms de table et ça marche.
Trouvé la solution parfaite pour moi.
Le problème ne venait pas de la migration de la base de données vers un nouveau serveur mais, si le préfixe de migration est différent du problème, le problème est survenu!
Mon préfixe de base de données original était quelque chose comme wp_71XXXXXX28_ et dans la nouvelle installation, j’utilisais wp_ . Le changement de préfixe ne résout que la partie donnée, mais le problème de connexion persiste.
Donc, je cherche simplement l’ancien préfixe dans toutes les tables en utilisant l’option de recherche phpmyadmin pour wp_71XXXXXX28_ et change les enregistrements en wp_ .
Remarque: j'ai trouvé 5 à 6 correspondances dans wp_user et une correspondance dans wp_option , vous pourriez être différent!
Il semble que votre problème concerne le compte administrateur créé manuellement. Le message d'erreur que vous voyez m'indique un problème lié aux autorisations attribuées à l'utilisateur.
Pouvez-vous m'en dire plus sur les étapes que vous avez suivies pour ajouter manuellement le compte?
J'imagine que vous avez ajouté l'utilisateur directement à la table users mais, après cela, avez-vous ajouté des fonctionnalités et des informations de niveau utilisateur à la table usermeta?
Pour vous donner un exemple, si je crée un utilisateur, je lancerais une requête pour l'insérer dans la table wp_users
(en supposant bien sûr que nous utilisions le préfixe de table standard).
J'obtenais ensuite l'ID de mon utilisateur nouvellement créé et l'utilisais pour insérer deux nouvelles lignes dans wp_usermeta
.
umeta_id
devrait être NULL et user_id
devrait être l'ID de votre nouvel utilisateur pour les deux entrées.
1)
meta_key: wp_capabilities
meta_value: a:1:{s:13:"administrator";s:1:"1";}
2)
meta_key: wp_user_level
meta_value: 10
Lectures supplémentaires: http://www.wpbeginner.com/wp-tutorials/how-to-add-an-admin-user-to-the-word-database-via-mysql/
cela peut être dû au fait que vous avez changé le nom de la table manuellement, alors cette erreur s'affiche .
previousprefixthatyouchangeinnew new_ to
votre problème a été résolu.
J'ai également rencontré ce message après une migration.
On dirait que le préfixe de base de données est sensible à la casse, et s'il ne correspond pas exactement, c'est ce qui apparaît lorsque vous essayez d'accéder aux pages d'administration.
Assurez-vous de vérifier votre config.php et de le définir exactement comme votre préfixe de table.
Si vous utilisez phpMyAdmin pour vérifier les tables, notez que tous les noms de table dans l'arborescence de la base de données sont affichés en minuscule, alors que dans mon cas, le préfixe attendu était tout en majuscule.
image phpMyAdmin: phpMyAdmin
Le préfixe correct dans l'image est celui qui doit être utilisé.
J'ai utilisé la table "<prefix> _usermeta" pour obtenir le préfixe WP attendu.
Pour ceux qui cherchent toujours la bonne réponse dans mon cas, voici ce que j’ai fait pour résoudre le problème de l’impossibilité de me connecter à WordPress Dashboard.
Dans la table de la base de données 'wp_options' sous le nom de l'option 'wp_user_roles', toutes les fonctionnalités standard étaient manquantes. Copiez ces fonctionnalités à partir d'une sauvegarde de base de données ou d'une base de données WordPress vierge.
Lorsque vous utilisez search & replace sur le fichier .sql dumpé du site wordpress d’origine pour l’utiliser sur le nouveau, assurez-vous que vous avez tout couvert. J'ai eu le même problème en vérifiant la table wp_usermeta dans la colonne meta_key que j'ai découverte des clés nommées d'après l'ancien préfixe de table. Les remplacer a corrigé mon problème.