137 votes

"La connexion pour le controluser tel que défini dans votre configuration a échoué" avec phpMyAdmin dans XAMPP

Je viens d'installer XAMPP sur ma machine Windows XP, et j'obtiens une erreur disant :

La connexion pour l'utilisateur de contrôle tel que défini dans votre configuration a échoué.

Avant d'installer XAMPP, j'avais une base de données MySQL installée et elle avait un mot de passe. J'ai changé et mis le mot de passe dans config.inc.php pour MySQL, et j'ai eu cette erreur :

<?php
if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) {
    $uri = 'https://';
} else {
    $uri = 'http://';
}
$uri .= $_SERVER['HTTP_HOST'];
header('Location: '.$uri.'/xampp/');
exit;
?>

Lorsque j'essaie d'accéder à index.php, il semble que quelque chose ne va pas avec l'installation de XAMPP. Que puis-je faire pour résoudre ce problème ?

22 votes

IMHO ce genre de questions sont assez courantes et beaucoup de temps est perdu pour les résoudre.aussi par "portée définie des problèmes", il est discutable si nous pouvons mettre cette question sous "soft. outil couramment utilisé par les programmeurs" ou "est un problème pratique, accessible qui est unique au développement de logiciels".donc je demande aux vétérans SO de considérer ce post avec soin avant de marquer "hors sujet". L'OS est devenu une destination unique et fiable pour obtenir des réponses à des problèmes de programmation, de la part de personnes qui y ont été confrontées et qui les ont résolus. Il serait donc utile pour le programmeur d'obtenir une réponse exacte ici plutôt que de chercher ailleurs pour un tel problème.

0 votes

J'ai trouvé une solution à ce problème. stackoverflow.com/a/54176422/4630590

252voto

DaveRandom Points 45661
  1. Ouvrez phpMyAdmin dans un navigateur et connectez-vous en tant que Root.

  2. Créez une base de données appelée phpmyadmin

  3. Créez un utilisateur appelé pma et définissez l'"hôte" comme étant le nom d'hôte ou l'adresse IP de votre serveur web (si le serveur web et MySQL sont sur la même machine, utilisez l'option localhost ), notez le mot de passe et accordez au nouvel utilisateur le contrôle total de l'espace de travail. phpmyadmin base de données. Il est recommandé que cet utilisateur n'ait pas accès à autre chose que cette base de données.

  4. Allez dans le répertoire d'installation de phpMyAdmin, où vous devriez trouver un sous-répertoire appelé sql .

  5. Sur sql vous trouverez un fichier appelé create_tables.sql . Ouvrez-le dans un éditeur de texte.

  6. Dans phpMyAdmin, sélectionnez l'option phpmyadmin et cliquez sur l'onglet "SQL".

  7. Copier/coller le texte entier de create_tables.sql dans la zone de texte, puis exécutez la requête.

  8. Ouvrez le config.inc.php dans le répertoire d'installation de phpMyAdmin, et ajoutez les lignes suivantes (ou modifiez les paramètres existants s'ils sont déjà là) :

    $cfg['Servers'][1]['pmadb'] = 'phpmyadmin';
    $cfg['Servers'][1]['controluser'] = 'pma';
    $cfg['Servers'][1]['controlpass'] = '<your password>';
    
    // Note: The list below may grow as PMA evolves and more control tables are added
    // Use your common sense! Don't just blindly copypasta, look at what it means!
    $cfg['Servers'][1]['bookmarktable'] = 'pma_bookmark';
    $cfg['Servers'][1]['relation'] = 'pma_relation';
    $cfg['Servers'][1]['userconfig'] = 'pma_userconfig';
    $cfg['Servers'][1]['table_info'] = 'pma_table_info';
    $cfg['Servers'][1]['column_info'] = 'pma_column_info';
    $cfg['Servers'][1]['history'] = 'pma_history';
    $cfg['Servers'][1]['recent'] = 'pma_recent';
    $cfg['Servers'][1]['table_uiprefs'] = 'pma_table_uiprefs';
    $cfg['Servers'][1]['tracking'] = 'pma_tracking';
    $cfg['Servers'][1]['table_coords'] = 'pma_table_coords';
    $cfg['Servers'][1]['pdf_pages'] = 'pma_pdf_pages';
    $cfg['Servers'][1]['designer_coords'] = 'pma_designer_coords';
  9. Enregistrez et fermez le fichier.

IMPORTANT - PMA charge la configuration lors de la connexion, l'évalue et la stocke dans les données de la session. Le message ne disparaîtra donc pas tant que vous n'aurez pas effectué cette opération :

  1. Déconnectez-vous de phpMyAdmin et reconnectez-vous.

Problème résolu.

3 votes

+1 pour le "se déconnecter et se reconnecter". J'ai perdu cinq minutes sans me rendre compte que je devais faire ça.

1 votes

@MatthewG Oui, le fichier de configuration est chargé dans votre session au moment où vous vous connectez pour réduire les entrées/sorties sur le disque, donc ce ^^ s'applique à toutes les modifications que vous pourriez apporter au fichier de configuration de PMA.

14 votes

Pour une raison quelconque, ma version de phpmyadmin a les noms de table comme "pma__bookmark" et ainsi de suite avec 2 "underscores". Si quelqu'un a le même problème, vous devez modifier le fichier "config.inc.php" en conséquence. Le fichier de configuration se trouve dans le répertoire "/etc/phpmyadmin" sous Ubuntu.

136voto

lightpriest Points 539

Si vous êtes arrivé ici et que vous utilisez Debian/Ubuntu (ou toute autre distro basée sur dpkg), exécutez la commande suivante :

sudo dpkg-reconfigure phpmyadmin

Le paquet phpmyadmin contient le script pour effectuer cette opération pour vous, tout ce dont il a besoin est un utilisateur avec des permissions. sudo n'est pas nécessaire si vous êtes connecté en tant que Root, bien sûr.

EDIT : Il peut être intéressant d'essayer de supprimer l'utilisateur actuel de phpmyadmin.

2 votes

Cela a fonctionné pour moi, j'ai juste dû réinstaller la base de données qu'il demandait. Merci. (Ubuntu 12.04)

18 votes

J'ai dû taper "pma" au lieu de "phpmyadmin" pour l'utilisateur de contrôle pendant la configuration pour que cela fonctionne.

2 votes

Merci, vous avez sauvé ma journée :) hehe

25voto

streak Points 185

Il suffit de commenter l'ensemble des blocs de code "Utilisateur pour les fonctionnalités avancées" et "Fonctionnalités avancées de phpMyAdmin" dans la section config.inc.php .

0 votes

Une explication à cela ? Comment et pourquoi cela fonctionne-t-il ?

1 votes

@Ben : Parfois, c'est tout ce qui compte ;)

0 votes

Dans quels fichiers.... C'est tellement peu informatif ! Mais tout le monde comprend alors je me sens stupide et incapable de le réparer lol double lose !

16voto

Ben Points 321

Avez-vous récemment changé le mot de passe racine de votre serveur MySQL ? Si la réponse est OUI, alors c'est la cause de l'erreur / avertissement dans la console phpMyAdmin. Pour résoudre ce problème, il suffit de modifier le fichier config-db.php de phpMyAdmin et de définir le mot de passe approprié pour la base de données.

La première réponse est trop brouillonne à mon avis et la deuxième réponse n'a pas fonctionné pour moi. Donc :

Dans les serveurs basés sur Linux, le fichier est généralement situé dans :

/etc/phpmyadmin/config-db.php

ou :

/etc/phpMyAdmin/config-db.php

Exemple : (Mon fichier ressemblait à ceci et j'ai changé l'utilisateur de phpmyadmin a admin le nom d'utilisateur que j'ai créé pour maintenir ma base de données via phpmyadmin, et mettez le mot de passe approprié.

$dbuser='phpmyadmin';
$dbpass=''; // set current password between quotes ' '
$basepath='';
$dbname='phpmyadmin';
$dbserver='';
$dbport='';
$dbtype='mysql';

crédits : http://tehnoblog.org/phpmyadmin-error-connection-for-controluser-as-defined-in-your-configuration-failed/

5voto

Dominique H. Points 59

Cela a fonctionné pour moi avec phpmyadmin sous Ubuntu 16.04 :

J'ai édité /etc/phpmyadmin/config.inc.php et modifié les 2 lignes suivantes :

$cfg['Servers'][$i]['controluser'] = 'root'; 
$cfg['Servers'][$i]['controlpass'] = 'thepasswordgiventoroot';

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X