Ceci est une version traduite de la documentation de phpMyAdmin. Vous pouvez y contribuer sur notre serveur de traduction.

Prérequis

Introduction

phpMyAdmin peut gérer un serveur MySQL (cela nécessite un compte super-utilisateur) aussi bien qu'une seule base de données. Pour pouvoir administrer une seule base de données, il est nécessaire d'avoir un droit de lecture / écriture sur la base de données concernée. Il vous appartient de consulter la section appropriée dans le manuel de MySQL.

Actuellement phpMyAdmin sait :

Un mot au sujet des utilisateurs :

Beaucoup de gens ont des difficultés à comprendre le concept de gestion d'utilisateur par rapport à phpMyAdmin. Quand un utilisateur se connecte à phpMyAdmin, son nom d'utilisateur et son mot de passe sont passés directement à MySQL. phpMyAdmin ne fait de gestion d'utilisateurs par lui-même (autre que de permettre la manipulation de l'information du compte utilisateur MySQL) ; tous les utilisateurs doivent être des utilisateurs MySQL valides.

1 phpMyAdmin peut compresser des fichiers d'exportation (dumps) ou CSV (aux formats Zip, GZip -RFC 1952- ou Bzip2) si vous utilisez PHP4 version 4.0.4 ou ultérieure avec l'option Zlib (--with-zlib) et/ou Bzip2 (--with-bz2). Un support approprié peut aussi nécessiter des changements dans le fichier php.ini.

Installation

  1. Installation rapide
  2. Script d'installation usage
  3. phpMyAdmin configuration storage
  4. Mise à jour
  5. Modes d'authentification

phpMyAdmin n'applique pas de méthodes de sécurité spéciales au serveur de données MySQL. Il appartient toujours à l'administrateur système d'accorder les autorisations adéquates sur les bases de données MySQL. La page « Privilèges » de phpMyAdmin peut être utilisée pour cela.

À l'attention des utilisateurs Mac :
Si vous utilisez une version Mac OS antérieure à la version OS X, StuffIt se débrouille avec les formats Mac.
Vous devrez donc convertir, tout comme dans BBEdit, au format Unix TOUS les scripts phpMyAdmin avant de les transférer sur votre serveur, car PHP ne semble pas apprécier les caractères de fin de ligne au format Mac (« \r »).

Installation rapide

  1. Choisissez un kit de distribution approprié sur la page de téléchargement de phpmyadmin.net. Certains kits ne contiennent que les messages en anglais, d'autres les messages pour toutes les langues au format UTF-8 (ce qui devrait suffire dans la plupart des cas), d'autres les messages pour toutes les langues et tous les jeux de caractères. Nous supposerons que vous avez choisi un kit dont le nom est de la forme phpMyAdmin-x.x.x-all-languages.tar.gz.
  2. « Détarrez » (.tar) ou « dézippez » (.zip) la distribution (assurez-vous de conserver l'arborescence des sous-répertoires). Exécutez ensuite la commande suivante : tar -xzvf phpMyAdmin_x.x.x-all-languages.tar.gz dans le répertoire document racine de votre serveur web. Si vous n'avez pas d'accès direct à votre répertoire racine document, mettez les fichiers dans un répertoire de votre ordinateur local, et, après l'étape 4, transférez le répertoire sur votre serveur web en utilisant, par exemple, le protocole ftp.
  3. Assurez-vous que tous les scripts ont le propriétaire adéquat (si PHP fonctionne en mode sécurisé, avoir des scripts avec un propriétaire différent de celui des autres posera un problème). Voir la section FAQ 4.2 et FAQ 1.26 pour des suggestions.
  4. Maintenant vous devez configurer votre installation. Il y a deux méthodes pouvant être utilisées. Traditionnellement, les utilisateurs ont une copie modifiée manuellement du fichier config.inc.php, mais maintenant un script d'installation de type assistant d'installation est fourni pour ceux qui préfèrent une installation graphique. Créer un fichier config.inc.php demeure néanmoins un moyen rapide pour démarrer et nécessaire pour certaines fonctionnalités avancées.
    • Pour créer manuellement le fichier, utilisez un simple éditeur de texte pour créer le fichier config.inc.php (vous pouvez copier le fichier config.sample.inc.php pour obtenir un fichier de configuration minimal) dans le répertoire principal de phpMyAdmin (celui qui contient le fichier index.php). phpMyAdmin charge tout d'abord le fichier libraries/config.default.php puis écrase ces valeurs avec celles trouvées dans le fichier config.inc.php. Si la valeur par défaut vous convient pour un paramètre particulier, il n'est pas nécessaire de l'inclure dans le fichier config.inc.php. Vous aurez besoin de quelques directives pour continuer. Une configuration simple peut ressembler à ceci :
      <?php
      $cfg['blowfish_secret'] = 'ba17c1ec07d65003';  // indiquer ici une valeur de votre choix
      
      $i=0;
      $i++;
      $cfg['Servers'][$i]['auth_type']     = 'cookie';
      ?>
      
      Ou, si vous préférez ne pas avoir d'invite de connexion à chaque fois :
      <?php
      
      $i=0;
      $i++;
      $cfg['Servers'][$i]['user']             = 'root';
      $cfg['Servers'][$i]['password']      = 'cbb74bc'; // indiquez ici votre mot de passe
      $cfg['Servers'][$i]['auth_type']     = 'config';
      ?>
      
      Pour une explication complète de toutes les valeurs de configuration possibles, veuillez consulter la section Configuration de ce document.
    • Au lieu de modifier manuellement le fichier config.inc.php, vous pouvez aussi utiliser le Script d'installation. Tout d'abord vous devez créer manuellement un répertoire config dans le répertoire phpMyAdmin. C'est une mesure de sécurité. Sur un système GNU/Linux ou Unix, vous pouvez utiliser les commandes suivantes :
      cd phpMyAdmin
      mkdir config                        # créez un répertoire pour la sauvegarde
      chmod o+rw config                   # donnez les droits d'écriture à tout le monde
      
      Et pour modifier une configuration existante, copier d'abord le fichier dans le répertoire config :
      cp config.inc.php config/           # copiez le fichier de configuration existant pour le modifier
      chmod o+w config/config.inc.php     # donnez les droits d'écriture à tout le monde
      rm -rf config                       # supprimez le répertoire inutile
      
      Sur d'autres plateformes, créez simplement le répertoire et assurez-vous que votre serveur Web a les droits d'accè en lecture et écriture sur celui-ci. La section FAQ 1.26 peut vous aiderour cela.

      Ensuite, ouvrez le fichier script d'installation dans votre navigateur. Veuillez noter que les changements ne sont pas enregistrés sur le disque tant que vous n'avez pas choisi Enregistrer dans la zone Configuration de l'écran. Normalement, le script enregistre le nouveau fichier config.inc.php dans le répertoire config/, mais si le serveur Web n'a pas les permissions appropriées, vous pouvez voir le message d'erreur suivant : « Impossible de charger ou enregistrer la configuration ». Assurez-vous que le répertoire config/ existe et qu'il a les bonnes permissions - ou utilisez le lien Télécharger pour enregistrer le fichier de configuration localement et l'envoyer (via FTP ou un autre moyen) dans le bon emplacement.

      Un fois le fichier enregistré, il doit être déplacé du répertoire config/ et les permissions doivent être réinitialisées, pour des raisons de sécurité :
      mv config/config.inc.php .         # déplacez le fichier dans le répertoire courant
      chmod o-rw config.inc.php          # enlevez les droits de lecture et d'écriture à tout le monde
      
      Maintenant, le fichier est prêt à être utilisé. Vous pouvez choisir de vérifier ou modifier le fichier de configuration avec votre éditeur favori, si vous préférez définir des options avancées que le script d'installation de permet pas de faire.
  5. Si vous utilisez la configuration auth_type, nous vous recommandons de protéger le répertoire dans lequel vous installez phpMyAdmin, car cette configuration ne nécessite pas que l'utilisateur donne un mot de passe pour accéder au répertoire d'installation de phpMyAdmin. Nous vous recommandons d'utiliser une méthode d'authentification alternative comme par exemple avec HTTP–AUTH dans un fichier .htaccess ou utilisez la méthode d'authentification par cookie ou http. Consultez la sous-section multi-utilisateurs de cette FAQ pour des informations supplémentaires et particulièrement la partie FAQ 4.4.
  6. Ouvrir le répertoire principal phpMyAdmin dans votre navigateur. phpMyAdmin devrait maintenant afficher un écran de bienvenue et vos bases de données, ou une boîte de dialogue de connexion si vous utilisez le mode HTTP ou le mode authentification par cookie.
  7. Vous devrez interdire l'accès aux sous-répertoires ./libraries et ./setup/lib de votre serveur Web. Pour Apache, vous pouvez utiliser le fichier .htaccess fourni dans ce dossier, pour les autres serveurs Web, vous devrez le configurer vous-même. Une telle configuration empêche de possibles vulnérabilités de « path exposure » et de « cross side scripting » qui pourraient être découvertes dans le code.
  8. Il est généralement conseillé de protéger l'installation phpMyAdmin publique contre les accès des robots car ils ne peuvent rien faire de bon en général ici. Vous pouvez faire ceci en utilisant le fichier robots.txt à la racine de votre serveur Web ou en limitant l'accès par la configuration de votre serveur Web. Vous pouvez trouver un exemple de fichier .htaccess qui vous aide à effectuer ceci dans le répertoire contrib de phpMyAdmin.

phpMyAdmin configuration storage

Si vous voulez bénéficier de toute une série de nouveautés (signets, commentaires, historique SQL, mécanisme de suivi, génération de PDF, transformation des contenus de champ, etc.), vous devrez créer un ensemble de tables spéciales. Ces tables peuvent se trouver dans votre propre base de données, ou dans une base de données centrale pour une installation multi-utilisateurs (cette base de données serait alors accée par le controluser, aussi, aucun autre utilisateur ne devrait avoir de droits sur celle-ci).

Veuillez regarder dans votre répertoire ./scripts/, où vous devriez trouver un fichier du nom de create_tables.sql. (Si vous utilisez un serveur Windows, portez une attention particulière à la partie FAQ 1.23).

If you already had this infrastructure and upgraded to MySQL 4.1.2 or newer, please use ./scripts/upgrade_tables_mysql_4_1_2+.sql and then create new tables by importing ./scripts/create_tables.sql.

Vous pouvez d'ores et déjà utiliser phpMyAdmin qui créera les tables pour vous. S'il vous plaît, sachez que vous pouvez avoir besoin de privilèges spéciaux (administrateur) pour créer la base de données et les tables, et que le script peut avoir besoin de quelques ajustements en fonction du nom de la base de données.

Après avoir importé le fichier create_tables.sql, vous devrez spécifier le nom des tables dans votre fichier ./config.inc.php. Vous trouverez les directives à utiliser pour cela dans la section Configuration. Vous aurez également besoin d'un controluser avec les droits appropriés pour ces tables (voir la section Utiliser les modes d'authentification ci-dessous).

Mise à jour :

Copiez simplement le fichier config.inc.php de votre installation précédente dans votre nouvelle installation. Les fichiers de configuration de très anciennes versions (2.3.0 ou précédentes) peuvent nécessiter des ajustements car certaines options ont été modifiées ou supprimées  en particulier, la définition de $cfg['AttributeTypes'] a changé, vous feriez donc mieux de les retirer de votre fichier et d'utiliser celui par défaut. Pour une compatibilité avec PHP 6, supprimez une déclaration set_magic_quotes_runtime(0); que vous pourriez trouver à la fin de votre fichier de configuration.

Vous ne devez pas copier libraries/config.default.php par dessus config.inc.php car le fichier de configuration par défaut est spécifique à chaque version.

If you have upgraded your MySQL server from a version previous to 4.1.2 to version 5.x or newer and if you use the phpMyAdmin configuration storage, you should run the SQL script found in scripts/upgrade_tables_mysql_4_1_2+.sql.

Utiliser les modes d'authentification :

Mode d'authentification 'HTTP'

Mode d'authentification 'cookie' :

Mode d'authentification 'signon'

Mode d'authentification 'config'

Authentification Swekey

Swekey est une clé USB d'authentification bon marché qui peut être utilisée dans les applications Web.

Quand l'authentification Swekey est activée, phpMyAdmin nécessite que la clé Swekey de l'utilisateur soit connectée avant d'entrer sur la page de connexion (actuellement disponible pour le mode authentification par cookie seulement). L'authentification Swekey est désactivée par défaut.

Pour l'activer, ajouter la ligne suivante au fichier config.inc.php :

$cfg['Servers'][$i]['auth_swekey_config'] = '/etc/swekey.conf';

Ensuite, vous devez créer le fichier swekey.conf qui associera chaque utilisateur avec son identifiant Swekey. Il est important de placer ce fichier en dehors de la racine document de votre serveur Web (dans l'exemple, il est situé dans /etc). Un fichier d'exemple commenté est fourni dans le répertoire contrib. Vous pouvez l'utiliser avec vos propres informations d'utilisateurs.

Si vous voulez acheter une clé Swekey, veuillez visiter http://phpmyadmin.net/auth_key car ce lien permet de recevoir des fonds pour phpMyAdmin.

Configuration

À l'attention des utilisateurs Mac : PHP ne semble pas apprécier les caractères de fin de ligne Mac (« \r »). Aussi, assurez-vous de choisir l'option qui autorise l'utilisation des caractères de fin de ligne *nix (« \n ») dans votre éditeur de texte avant d'enregistrer un script que vous avez modifié.

Note sur la configuration : Presque toutes les données de configuration sont placées dans config.inc.php. Si ce fichier n'existe pas, veuillez vous rapporter à la section Installation rapide pour en créer un. Ce fichier ne nécessite de contenir que les paramètres dont vous voudriez changer la valeur par défaut dans le fichier libraries/config.default.php.

Les paramètres relatifs à la conception (comme les couleurs), se trouvent dans themes/themename/layout.inc.php. Vous pouvez également créer les fichiers config.footer.inc.php et config.header.inc.php pour ajouter à votre site du code spécifique à inclure en en-tête et en pied de chaque page.

$cfg['PmaAbsoluteUri'] chaîne
Définissez ici l'URL complète (avec le chemin d'accès complet) du répertoire d'installation de votre phpMyAdmin. C'est-à-dire http://www.votre_site.net/chemin_d_acces_avotre_repertoire_phpMyAdmin/. Veuillez noter également que l'URL sur certains serveurs Web est sensible à la casse. N'oubliez pas le slash (« / ») final pour votre URL.

À partir de la version 2.3.0, il est conseillé d'essayer de laisser ce paramètre à blanc. Dans la plupart des cas, phpMyAdmin détecte automatiquement le paramètre approprié. Les utilisateurs de « port forwarding » devront définir PmaAbsoluteUri (plus de renseignements ici). Un bon test est de naviguer dans une table, d'éditer une ligne et de l'enregistrer. Vous devriez obtenir un message d'erreur si phpMyAdmin rencontre des problèmes pour détecter automatiquement la bonne valeur. Si vous obtenez une erreur indiquant que ce paramètre doit être défini ou que le code d'auto-détection échoue à trouver le chemin d'accès, veuillez poster un rapport de bogue sur notre traqueur de bogues pour que nous améliorions le code.
$cfg['PmaNoRelation_DisableWarning'] booléen
À partir de la version 2.3.0 phpMyAdmin offre beaucoup de fonctionnalités pour travailler avec les tables maîtres / de référence (voir $cfg['Servers'][$i]['pmadb']).
Si vous essayez de le paramétrer et qu'il ne fonctionne pas pour vous, regardez la page « Structure » d'une base de données où vous voudriez l'utiliser. Vous trouverez alors un lien qui analysera pourquoi ces fonctionnalités ont été désactivées.
Si vous ne voulez pas utiliser ces fonctionnalités, mettez cette variable à TRUE pour empêcher ce message d'apparaître.
$cfg['SuhosinDisableWarning'] booléen
Un avertissement est affiché sur la page principale si Suhosin est détecté. Vous pouvez définir ce paramètre à TRUE pour empêcher ce message d'apparaître.
$cfg['McryptDisableWarning'] booléen
Désactive l'avertissement par défaut qui est affiché si mcrypt est manquant pour l'authentification par cookie. Vous pouvez définir ce paramètre à TRUE pour empêcher l'affichage de ce message.
$cfg['AllowThirdPartyFraming'] booléen
En définissant ceci à true, cela permet à une page située dans un domaine différent d'appeler phpMyAdmin à l'intérieur d'un cadre, et cela représente un trou potentiel de sécurité pour les attaques de script inter-cadre (cross-frame).
$cfg['blowfish_secret'] chaîne
Le mode d'authentification par « cookie » utilise l'algorithme blowfish pour chiffrer le mot de passe.
Si vous utilisez le mode d'authentification par 'cookie', entrez ici une phrase aléatoire de votre choix. Elle sera utilisée de manière interne par l'algorithme blowfish : cette phrase mot de passe ne vous sera pas demandée. Il n'y a pas de taille maximale pour cette phrase.

Depuis la version 3.1.0, phpMyAdmin peut générer ceci à la volée, mais cela affaiblit un peu la sécurité car le mot de passe est stocké en session et de plus, cela rend impossible de se rappeler du nom de l'utilisateur à partir du cookie.
$cfg['Servers'] tableau
Depuis la version 1.4.2, phpMyAdmin gère l'administration de plusieurs serveurs MySQL. Par conséquent, un tableau $cfg['Servers'] a été ajouté qui contient les informations de connexions pour les différents serveurs. Le premier $cfg['Servers'][$i]['host'] contient le nom d'hôte du premier serveur, le second $cfg['Servers'][$i]['host'] le nom d'hôte du second serveur, etc. Dans le fichier libraries/config.default.php, il n'y a qu'une section pour la définition du serveur, cependant vous pouvez en mettre autant que vous le voulez dans le fichier config.inc.php; copier ce bloc ou d'autres parties nécessaires (il n'est pas utile de définir tous les paramètres, seulement ceux que vous avez besoin de changer).
$cfg['Servers'][$i]['host'] chaîne
Le nom d'hôte ou l'adresse IP de votre $i-ème serveur MySQL. C'est-à-dire localhost.
$cfg['Servers'][$i]['port'] chaîne
Le numéro de port de votre $i-ème serveur MySQL. Par défaut : 3306 (laissez à blanc pour utiliser la valeur par défaut). Si vous utilisez « localhost » comme nom d'hôte, MySQL ignore ce numéro de port et se connecte avec le socket, donc, si vous voulez vous connecter avec un port différent de celui par défaut, utilisez « 127.0.0.1 » ou le nom d'hôte réel dans $cfg['Servers'][$i]['host'].
$cfg['Servers'][$i]['socket'] chaîne
Le chemin d'accès vers le socket à utiliser. Laissez à blanc pour utiliser la valeur par défaut.
Pour déterminer le bon socket, vérifiez votre configuration MySQL ou, en utilisant la ligne de commande mysql, utilisez la commande status. Parmi les informations affichées se trouvera le socket utilisé.
$cfg['Servers'][$i]['ssl'] booléen
Pour activer ou pas une connexion SSL vers le serveur MySQL.
$cfg['Servers'][$i]['connect_type'] chaîne
Quel type de connexion utiliser avec le serveur MySQL. Vos choix sont 'socket' et 'tcp'. Par défaut, c'est 'tcp' parce qu'il est pratiquement sûr qu'il est disponible sur tous les serveurs MySQL, alors que les sockets ne sont pas gérés sur certaines plateformes.

Pour utiliser le mode socket, votre serveur MySQL doit être sur la même machine que le serveur Web.
$cfg['Servers'][$i]['extension'] chaîne
Définit l'extension php MySQL utilisée pour la connexion. Les options autorisées sont :

mysql : L'extension MySQL classique. C'est l'option recommandée et par défaut à ce jour.

mysqli : L'extension MySQL améliorée. Cette extension devient disponible avec php version 5.0.0, et recommandée pour se connecter sur un serveur exécutant MySQL version 4.1.x ou suivantes.
$cfg['Servers'][$i]['compress'] booléen
Pour utiliser ou non un protocole compressé pour la connexion au serveur MySQL (expérimental).
Cette fonctionnalité requiert PHP version 4.3.0 ou ultérieure.
$cfg['Servers'][$i]['controluser'] chaîne
$cfg['Servers'][$i]['controlpass'] chaîne
This special account is used for 2 distinct purposes: to make possible all relational features (see $cfg['Servers'][$i]['pmadb']) and, for a MySQL server running with --skip-show-database, to enable a multi-user installation (HTTP or cookie authentication mode).

Si vous utilisez les modes d'authentification HTTP ou par cookie (ou le mode d'authentification 'config' depuis phpMyAdmin 2.2.1), vous devez fournir des informations sur un compte MySQL qui a un privilège SELECT sur les tables  mysql.user (toutes les colonnes sauf « Password »), mysql.db (toutes les colonnes) et mysql.tables_priv (toutes les colonnes sauf « Grantor » et « Timestamp »). Ce compte est utilisé pour vérifier quelles bases de données l'utilisateur pourra voir à la connexion.
Veuillez consulter la section Installation sur « Utiliser les modes d'authentification » pour plus de renseignements.

Dans les versions de phpMyAdmin antérieures à la version 2.2.5, ils étaient appelés « stduser/stdpass ».
$cfg['Servers'][$i]['auth_type'] chaîne ['HTTP'|'http'|'cookie'|'config'|'signon']
Définit le mode d'authentification config, cookie, signon ou HTTP qui sera utilisé sur le serveur.
  • l'authentification 'config' ($auth_type = 'config') est la bonne vieille méthode : nom d'utilisateur et mot de passe sont stockés dans config.inc.php.
  • le mode d'authentification 'cookie' ($auth_type = 'cookie') tel qu'introduit dans la version 2.2.3 vous permet de vous connecter comme n'importe quel utilisateur MySQL valide à l'aide de cookies. Les nom et mot de passe de connexion sont stockés dans des cookies pendant la session et le mot de passe est effacé à la fin de la session. Ceci vous permet également de vous connecter à un serveur arbitraire si $cfg['AllowArbitraryServer'] est activé.
  • le mode authentification 'HTTP' ( appelé « avancé » dans les précédentes versions et peut aussi être écrit 'http') ($auth_type = 'HTTP') tel qu'introduit dans la version 1.3.0 vous permet de vous connecter comme n'importe utilisateur MySQL valide via HTTP-Auth.
  • le mode d'authentification 'signon' ($auth_type = 'signon') qui a été introduit dans la version 2.10.0 vous permet de vous connecter à partir de données de session préparée PHP. Ceci est utile pour la mise en œuvre d'une connexion unique (single signon) à partir d'une autre application. Un exemple pour alimenter une session se trouve dans : scripts/signon.php. Vous aurez besoin de configurer session name et signon URL pour utiliser ce mode d'authentification.
Veuillez consulter la section Installation sur « Utiliser les modes d'authentification » pour plus de renseignements.
$cfg['Servers'][$i]['auth_http_realm'] chaîne
En utilisant l'authentification auth_type = 'HTTP', ce champ permet de définir un flux d'authentification HTTP basique personnalisé qui sera affiché à l'utilisateur. Si ce n'est pas explicitement spécifié dans votre configuration, une chaîne combinée de « phpMyAdmin  » et soit de $cfg['Servers'][$i]['verbose'] ou $cfg['Servers'][$i]['host'] sera utilisée.
$cfg['Servers'][$i]['auth_swekey_config'] chaîne
Le nom du fichier contenant les identifiants et noms de connexion Swekey pour l'authentification matérielle. Laisser vide pour désactiver cette fonctionnalité.
$cfg['Servers'][$i]['user'] chaîne
$cfg['Servers'][$i]['password'] chaîne
En utilisant auth_type = 'config', c'est la paire utilisateur/mot de passe qu'utilisera phpMyAdmin pour se connecter au serveur MySQL. Cette paire  utilisateur/mot de passe n'est pas nécessaire quand  les modes d'authentification HTTP ou cookie sont utilisés, et doit rester vide.
$cfg['Servers'][$i]['nopassword'] boolean
Permet d'essayer de se connecter sans mot de passe quand la connexion avec mot de passe a échoué. Ceci peut être utilisé en conjonction avec l'authentification HTTP, quand l'authentification est faite par d'autres moyens et que phpMyAdmin obtient le nom d'utilisateur à partir de auth et utilise un mot de passe « vide » pour se connecter à MySQL. La connexion par mot de passe est d'abord essayée, mais ensuite, en moyen de secours, aucune méthode par mot de passe n'est essayée.
$cfg['Servers'][$i]['only_db'] chaîne ou tableau
S'il est indiqué un nom de base de données (ou un tableau de noms de bases de données) , seule(s) cette (ces) base(s) sera (seront) affichée(s) à l'utilisateur. Depuis la version 2.2.1 de phpMyAdmin, ce(s) nom(s) de base(s) de données peuvent contenir des méta-caractères MySQL (« _ » et « % ») : si vous voulez utiliser des instances littérales de ces caractères, utilisez des séquences d'échappement (c'est-à-dire écrivez 'ma\_bdd' et pas 'ma_bdd').
Ce paramétrage est un moyen efficace de diminuer la charge du serveur puisque ce dernier n'a pas besoin d'envoyer des requêtes MySQL pour construire la liste des bases de données disponibles. Mais cela ne remplacera pas les règles de privilèges sur le serveur de base de données MySQL. S'il est utilisé, cela signifie seulement que seules ces bases de données seront affichées, mais pas que toutes les autres bases de données ne pourront pas être utilisées.

Un exemple d'utilisation de plus d'une base de données : $cfg['Servers'][$i]['only_db'] = array('bdd1', 'bdd2');

Comme dans phpMyAdmin 2.5.5, l'ordre à l'intérieur du tableau est utilisé pour trier les bases de données dans le cadre de gauche, de la sorte, vous pouvez ordonner vos bases de données comme bon vous semble.
Si vous voulez avoir certaines bases de données en haut de page, et que peu importe l'ordre des autres bases, vous n'avez pas besoin de spécifier toutes les autres bases. Utilisez : $cfg['Servers'][$i]['only_db'] = array('bdd3', 'bdd4', '*'); plutôt que de dire à phpMyAdmin qu'il doit afficher bdd3 et bdd4 en haut, et le reste en ordre alphabétique.
$cfg['Servers'][$i]['hide_db'] chaîne
Expression régulière pour masquer certaines bases. Ceci ne les masque que pour le listage, l'utilisateur est toujours capable d'y accéder (en utilisant par exemple la zone de requête SQL). Pour limiter l'accès, utiliser le système de privilège de MySQL.

Par exemple, pour masquer toutes les bases de données commençant par la lettre « a », utilisez
$cfg['Servers'][$i]['hide_db'] = '^a';
et pour masquer les bases de données « db1 » et « db2 », utilisez
$cfg['Servers'][$i]['hide_db'] = '^(db1|db2)$';
Vous pourrez trouver plus d'informations sur les expressions régulières dans la section syntaxe de motif PCRE dans le manuel de référence de PHP.
$cfg['Servers'][$i]['verbose'] chaîne
Seulement utile si vous utilisez phpMyAdmin avec plusieurs entrées de serveurs. Si elle est définie, cette chaîne sera affichée à la place du nom d'hôte dans le menu déroulant de la page principale. Cela peut être utile si vous ne voulez montrer que certaines bases de données sur votre système,par exemple. Pour le mode d'authentification HTTP, tous les caractères non-US-ASCII seront enlevés.
$cfg['Servers'][$i]['pmadb'] chaîne
The name of the database containing the phpMyAdmin configuration storage.

See the phpMyAdmin configuration storage section in this document to see the benefits of this feature, and for a quick way of creating this database and the needed tables.

If you are the only user of this phpMyAdmin installation, you can use your current database to store those special tables; in this case, just put your current database name in $cfg['Servers'][$i]['pmadb']. For a multi-user installation, set this parameter to the name of your central database containing the phpMyAdmin configuration storage.
$cfg['Servers'][$i]['bookmarktable'] chaîne
Depuis la version 2.2.0, phpMyAdmin permet aux utilisateurs la mise en signets (favoris) des requêtes. Cela peut être utile pour les requêtes que vous utilisez souvent.

Pour pouvoir utiliser cette fonctionnalité :
  • set up pmadb and the phpMyAdmin configuration storage
  • saisir le nom de la table dans $cfg['Servers'][$i]['bookmarktable']
$cfg['Servers'][$i]['relation'] chaîne
Depuis la version 2.2.4, vous pouvez décrire, dans une table spéciale « relation », quel colonne est une clé pour une autre table (une clé étrangère). phpMyAdmin utilise actuellement cela pour :
  • rendre cliquable, quand vous affichez la table maître, les valeurs des données qui pointent vers une table étrangère;
  • afficher dans une info-bulle optionnelle « Afficher la colonne » lors du parcours de la table maître, si vous déplacez la souris sur une colonne contenant une clé étrangère (utilise aussi la table 'table_info') ;
    (voir la section FAQ 6.7)
  • en mode modification/insertion, afficher une liste déroulante des clés étrangères disponibles (la valeur de la clé et le champ d'affichage sont indiqués)
    (voir la section FAQ 6.21)
  • afficher les liens dans la page de propriétés de la table, pour vérifier l'intégrité référentielle (affiche les clés étrangères manquantes) pour chaque clé décrite;
  • dans Query-by-example, créer des jointures automatiques (voir la section FAQ 6.6)
  • vous permettre d'obtenir un schéma PDF de votre base de données (utilise également la table table_coords).
Les clés peuvent être numériques ou alphanumériques.

Pour pouvoir utiliser cette fonctionnalité :
  • set up pmadb and the phpMyAdmin configuration storage
  • mettre le nom de la table de relation dans $cfg['Servers'][$i]['relation']
  • now as normal user open phpMyAdmin and for each one of your tables where you want to use this feature, click "Structure/Relation view/" and choose foreign columns.
Please note that in the current version, master_db must be the same as foreign_db. Those columns have been put in future development of the cross-db relations.
$cfg['Servers'][$i]['table_info'] chaîne
Since release 2.3.0 you can describe, in a special 'table_info' table, which column is to be displayed as a tool-tip when moving the cursor over the corresponding key.
Cette variable de configuration détient le nom de cette table spéciale. Pour pouvoir utiliser cette fonctionnalité :
  • set up pmadb and the phpMyAdmin configuration storage
  • put the table name in $cfg['Servers'][$i]['table_info'] (e.g. 'pma_table_info')
  • then for each table where you want to use this feature, click "Structure/Relation view/Choose column to display" to choose the column.
Usage tip: Display column.
$cfg['Servers'][$i]['table_coords'] chaîne
$cfg['Servers'][$i]['pdf_pages'] chaîne
Depuis la version 2.3.0, phpMyAdmin peut créer des pages PDF montrant les relations entre vos tables. Pour ce faire, il a besoin de deux tables « pdf_pages » (qui stocke les informations sur les pages PDF disponibles) et « table_coords » (qui stocke les coordonnées où chaque table sera placée sur le schéma PDF réalisé).

Vous devez utiliser la fonctionnalité « relation ».

Pour pouvoir utiliser cette fonctionnalité :
  • set up pmadb and the phpMyAdmin configuration storage
  • mettre les noms corrects de tables dans $cfg['Servers'][$i]['table_coords'] et $cfg['Servers'][$i]['pdf_pages']
Astuce d'utilisation : Réalisation de PDF.
$cfg['Servers'][$i]['column_info'] chaîne
Depuis la version 2.3.0, vous pouvez stocker des commentaires pour décrire chaque colonne de chaque table. Ils seront alors visibles dans « Version imprimable ».

À partir de la version 2.5.0, les commentaires sont par conséquent utilisés dans les pages de propriété de table et dans la vue afficher la table, apparaissant sous forme d'info-bulle au-dessus du nom de colonne (page propriétés) ou intégrés dans l'en-tête de la vue parcours de table. Ils peuvent aussi être vus dans un fichier d'exportation de table. Veuillez consulter les directives de configuration adéquates plus loin.

Also new in release 2.5.0 is a MIME-transformation system which is also based on the following table structure. See Transformations for further information. To use the MIME-transformation system, your column_info table has to have the three new columns 'mimetype', 'transformation', 'transformation_options'.

Pour pouvoir utiliser cette fonctionnalité :
  • set up pmadb and the phpMyAdmin configuration storage
  • put the table name in $cfg['Servers'][$i]['column_info'] (e.g. 'pma_column_info')
  • Pour mettre à jour votre table PRE-2.5.0 Column_comments, utilisez cette requête :
    ALTER TABLE `pma_column_comments`
        ADD `mimetype` VARCHAR( 255 ) NOT NULL,
        ADD `transformation` VARCHAR(255 ) NOT NULL,
        ADD `transformation_options` VARCHAR( 255 ) NOT NULL;
    
    et rappelez-vous que la variable dans le fichier config.inc.php a été renommée de
    $cfg['Servers'][$i]['column_comments'] en $cfg['Servers'][$i]['column_info']
$cfg['Servers'][$i]['history'] chaîne
Depuis la version 2.5.0, vous pouvez stocker votre historique SQL, ce qui signifie toutes les requêtes que vous saisissez manuellement dans l'interface de phpMyAdmin. Si vous ne voulez pas utiliser un historique stocké dans une table, vous pouvez choisir un historique utilisant JavaScript. En utilisant JavaScript, toutes les entrées de votre historique seront perdues en fermant la fenêtre.

En utilisant $cfg['QueryHistoryMax'], vous pouvez spécifier le nombre d'entrées de l'historique que vous voulez conserver. À chaque connexion, cette liste est réduite au nombre maximum d'entrées.

La requête historique n'est disponible que si JavaScript est activé dans votre navigateur.

Pour pouvoir utiliser cette fonctionnalité :
  • set up pmadb and the phpMyAdmin configuration storage
  • put the table name in $cfg['Servers'][$i]['history'] (e.g. 'pma_history')
$cfg['Servers'][$i]['tracking'] chaîne
Depuis la version 3.3.x, un mécnisme de suivi est disponible. Il vous aide à suivretoutes les commandes SQL exécutées par phpMyAdmin. Le mécanisme gère la journalisation de la manipulation de données et les déclarations de définition de données. Après son activation, vous pouvez créer des versions de tables.

La création d'une version a deux effets :
  • phpMyAdmin enregistre un cliché de la table, y compris sa structure et ses index.
  • phpMyAdmin journalise toutes les commandes qui modifie la structure et/ou les données de la table et lie ces commandes au numéro de la version.
Bien sûr, vous pouvez voir les modifications suivies. Dans la page « Tracking », un rapport complet est disponible pour chaque version. Pour le rapport, vous pouvez utiliser des filtres, par exemple, vous pouvez obtenir une liste des déclarations dans un intervalle de temps donné. Si vous voulez filtrer les noms d'utilisateurs, vous pouvez saisir « * » pour tous les noms ou une liste de nom séparés par des virgules (« , »). De plus, vous pouvez exporter le rapport (filtré) dans un fichier ou une base de données temporaire.

Pour pouvoir utiliser cette fonctionnalité :
  • set up pmadb and the phpMyAdmin configuration storage
  • put the table name in $cfg['Servers'][$i]['tracking'] (e.g. 'pma_tracking')
$cfg['Servers'][$i]['tracking_version_auto_create'] boolean
Définit si le mécanisme de suivi crée des versions pour les tables et les vues automatiquement. La valeur par défaut est « false ».

Si ceci est défini à « true » et que vous créez une table ou une vue avec
  • CREATE TABLE ...
  • CREATE VIEW ...
et qu'il n'existe pas de version pour celle-ci, le mécanisme de suivi créera une version pour vous automatiquement.
$cfg['Servers'][$i]['tracking_default_statements'] chaîne
Définit la liste des déclarations que le mécanisme d'auto-création utilise pour les nouvelles versions. La valeur par défaut est
CREATE TABLE,ALTER TABLE,DROP TABLE,RENAME TABLE,
CREATE INDEX,DROP INDEX,
INSERT,UPDATE,DELETE,TRUNCATE,REPLACE,
CREATE VIEW,ALTER VIEW,DROP VIEW,
CREATE DATABASE,ALTER DATABASE,DROP DATABASE
$cfg['Servers'][$i]['tracking_add_drop_view'] boolean
Whether a DROP VIEW IF EXISTS statement will be added as first line to the log when creating a view. Default value is true.

$cfg['Servers'][$i]['tracking_add_drop_table'] boolean
Whether a DROP TABLE IF EXISTS statement will be added as first line to the log when creating a table. Default value is true.

$cfg['Servers'][$i]['tracking_add_drop_database'] boolean
Whether a DROP DATABASE IF EXISTS statement will be added as first line to the log when creating a database. Default value is true.

$cfg['Servers'][$i]['userconfig'] string
Since release 3.4.x phpMyAdmin allows users to set most preferences by themselves and store them in the database.

If you don't allow for storing preferences in pmadb, users can still personalize phpMyAdmin, but settings will be saved in browser's local storage, or, it is is unavailable, until the end of session.

Pour pouvoir utiliser cette fonctionnalité :
  • set up pmadb and the phpMyAdmin configuration storage
  • put the table name in $cfg['Servers'][$i]['userconfig']
$cfg['Servers'][$i]['designer_coords'] chaîne
Depuis la version 2.10.0, une interface Designer est disponible ; elle permet de gérer visuellement les relations.

Pour pouvoir utiliser cette fonctionnalité :
  • set up pmadb and the phpMyAdmin configuration storage
  • put the table name in $cfg['Servers'][$i]['designer_coords'] (e.g. 'pma_designer_coords')
$cfg['Servers'][$i]['verbose_check'] booléen
Because release 2.5.0 introduced the new MIME-transformation support, the column_info table got enhanced with three new columns. If the above variable is set to TRUE (default) phpMyAdmin will check if you have the latest table structure available. If not, it will emit a warning to the superuser.

Vous pouvez désactiver cette fonctionalité en positionnant la variable à FALSE, ce qui devrait améliorer les performances.

Il est recommandé de la positionner à FALSE, quand vous êtes sûr que votre structure est à jour.
$cfg['Servers'][$i]['AllowRoot'] booléen
Autoriser ou non un accès à la racine. Il s'agit seulement d'un raccourci pour les règles AllowDeny ci-dessous.
$cfg['Servers'][$i]['AllowNoPassword'] booléen
Permet d'autoriser les connexions sans mot de passe. La valeur par défaut est false pour ce paramètre, ce qui empêche les accès non voulus à un serveur MySQL pour lequel le mot de passe root est vide ou pour lequel un utilisateur anonyme (vide) a été défini.
$cfg['Servers'][$i]['AllowDeny']['order'] chaîne
If your rule order is empty, then IP authorization is disabled.

Si votre règle « order » est définie à 'deny,allow' alors le système applique toutes les règles « deny » puis les règles « allow ». L'accès est autorisé par défaut. Tout client qui ne répondrait pas à une commande « deny » ou « allow » sera autorisé à accéder au serveur.

Si votre règle « order » est définie à 'allow,deny' alors le système applique toutes les règles « allow » puis les règles « deny ». L'accès est refusé par défaut. Tout client qui ne répondrait pas à une directive « allow » ou « deny » se verra refuser l'accès au serveur.

If your rule order is set to 'explicit', authorization is performed in a similar fashion to rule order 'deny,allow', with the added restriction that your host/username combination must be listed in the allow rules, and not listed in the deny rules. This is the most secure means of using Allow/Deny rules, and was available in Apache by specifying allow and deny rules without setting any order.

Veuillez également consulter $cfg['TrustedProxies'] pout la détection d'adresse IP derrière des proxies.
$cfg['Servers'][$i]['AllowDeny']['rules'] tableau de chaînes
Le format général des règles est le suivant :
<'allow' | 'deny'><username> ['from'] <ipmask>
Si vous voulez que cela concerne tous les utilisateurs, il est possible d'utiliser un symbole '%' comme méta-caractère dans le champ username.
Il y a quelques raccourcis que vous pouvez utiliser pour le champ ipmask (veuillez noter que les adressages ADDRESSE_SERVER pourraient ne pas être disponibles sur tous les serveurs Web) :
'Tout' -> 0.0.0.0/0
'Hôte local' -> 127.0.0.1/8
'Réseau local de classe A' -> ADDRESSE_SERVER/8
'Réseau local de classe B' -> ADDRESSE_SERVER/16
'Réseau local de classe C' -> ADDRESSE_SERVER/24
Avoir une liste de règles vide est équivalent à l'utilisation de 'allow % from all' si l'ordre de votre règle est définie à 'deny,allow' ou 'deny % from all' si l'ordre de votre règle est définie à 'allow,deny' ou 'explicit'.

Pour le système de concordance IP, ce qui suit fonctionne :
xxx.xxx.xxx.xxx (une adresse IP exacte)
xxx.xxx.xxx.[yyy-zzz] (une plage d'adresses IP)
xxx.xxx.xxx.xxx/nn (CIDR, adresses IP de type Classless Inter-Domain Routing -- routage inter-domaine sans classe)
Mais ce qui suit ne fonctionne pas :
xxx.xxx.xxx.xx[yyy-zzz] (plage partielle d'adresses IP)
Les adresses IPv6 ne sont pas gérées non plus.
$cfg['Servers'][$i]['DisableIS'] booléen
Désactiver en utilisant INFORMATION_SCHEMA pour retrouver les informations (utiliser des commandes SHOWà la place), à cause de problèmes de performances quand il y a beaucoup de bases de données. Actuellement utilisé dans certaines parties du code, more to come.
$cfg['Servers'][$i]['ShowDatabasesCommand'] chaîne
Sur un serveur avec un très grand nombre de bases de données, la commande par défaut SHOW DATABASES utilisée pour récupérer le nom des bases de données sera probablement très lente, elle peut donc être remplacée par des commandes plus rapides (voir libraries/config.default.php pour des exemples).
$cfg['Servers'][$i]['CountTables'] booléen
Définit s'il faut compter le nombre de tables pour chaque base de données lors de la préparation de la liste des bases de données pour la navigation dans le cadre.
$cfg['Servers'][$i]['SignonSession'] chaîne
Nom de la session qui sera utilisée pour le mode d'authentification 'signon'.
$cfg['Servers'][$i]['SignonURL'] chaîne
URL où sera redirigé l'utilisateur pour se connecter avec le mode d'authentification 'signon'. Doit être absolue et inclure le protocole.
$cfg['Servers'][$i]['LogoutURL'] chaîne
URL où sera redirigé l'utilisateur après la déconnexion (ceci n'affecte pas la mode d'authentification 'config'). Doit être absolue et inclure le protocole.
$cfg['ServerDefault'] entier
Si vous avez plus d'un serveur, vous pouvez définir $cfg['ServerDefault'] sur n'importe lequel d'entre eux pour s'auto-connecter sur celui-ci quand phpMyAdmin est démarré, ou le définir à 0 sur tous les serveurs pour avoir une liste de serveurs auxquels se connecter.
Si vous n'avez qu'un seul serveur, $cfg['ServerDefault'] DOIT être défini sur ce serveur.
$cfg['MaxDbList'] entier
Le nombre maximum de noms de bases de données à afficher dans le cadre de navigation et dans la liste des bases de données.
$cfg['MaxTableList'] entier
Le nombre maximum de noms de tables à afficher dans la liste du panneau principal. Cette limite est aussi appliquée dans le panneau de navigation en mode allégé.
$cfg['MaxCharactersInDisplayedSQL'] entier
Le nombre maximum de caractères d'une requête SQL à afficher. La limite par défaut de 1000 devrait être correcte pour éviter l'affichage de tonnes de code hexadécimal représentant des BLOB, mais certains utilisateurs ont de vraies requêtes SQL qui dépassent 1000 caractères. Également, si la longueur d'une requête excède cette limite, la requête n'est pas conservée dans l'historique.
$cfg['OBGzip'] chaîne/booléen
Définit si l'on utilise la mise en cache des sorties (output buffering) GZip pour accroître la vitesse des transferts HTTP.
Mettre à true/false pour activer/désactiver. Quand défini sur 'auto' (chaîne), phpMyAdmin essaie d'activer la mise en cache des sorties et la désactivera automatiquement si votre navigateur a des problèmes avec la mise en cache. IE6, avec un certain correctif, est connu pour provoquer une corruption de données en ayant la mise en cache activée.
$cfg['PersistentConnections'] booléen
Définit si les connexions persistantes doivent être utilisées (mysql_connect ou mysql_pconnect).
$cfg['ForceSSL'] booléen
Pour forcer ou pas l'utilisation de https lors de l'accès à phpMyAdmin.
$cfg['ExecTimeLimit'] entier ['nombre de secondes']
Définit le nombre de secondes allouées à un script pour s'exécuter. Si le nombre de secondes est défini à zéro, aucune limite de temps n'est imposée.
Ce paramètre est utilisé lors de l'importation/exportation de fichiers dump et dans la fonctionnalité de synchronisation mais n'a aucun effet lorsque PHP est exécuté en mode sécurisé.
$cfg['SessionSavePath'] chaîne
Chemin de stockage des données de session (paramètre PHP session_save_path).
$cfg['MemoryLimit'] string [number of bytes]
Définit le nombre d'octets qu'un script est autorisé à allouer. Si ce nombre est défini à zéro, aucune limite n'est imposée.
Ce paramètre est utilisé lors de l'importation/exportation de fichiers dump et dans d'autres fonctions de phpMyAdmin, vous ne voulez donc pas mettre une valeur trop basse ici. Il n'a aucun effet lorsque PHP est exécuté en mode sécurisé.
Vous pouvez aussi utiliser une chaîne comme dans le fichier php.ini, par ex. '16M'. Assurez-vous de ne pas oublier le suffixe (16 signifie 16 octets !)
$cfg['SkipLockedTables'] booléen
Marque les tables utilisées et permet de montrer les bases de données avec des tables verrouillées (depuis la version MySQL 3.23.30).
$cfg['ShowSQL'] booléen
Définit si les requêtes SQL générées par phpMyAdmin doivent être affichées.
$cfg['AllowUserDropDatabase'] booléen
Définit si les utilisateurs lamda (non administrateur) sont autorisés à supprimer leur propre base de données. S'il est défini à FALSE, le lien « Supprimer la base … » ne sera pas visible, et même la commande « DROP DATABASE ma_base_de_donnees » sera rejetée. Très pratique pour un FAI avec beaucoup de clients.
Veuillez noter que cette limitation des requêtes SQL n'est pas aussi stricte en utilisant les privilèges MySQL. Cela est dû à la nature des requêtes SQL qui peuvent être très compliquées. Aussi, ce choix doit être vu comme une aide pour éviter une suppression accidentelle plutôt qu'une limitation de privilèges stricte.
$cfg['Confirm'] booléen
Définit si un avertissement (« Êtes-vous vraiment sûr… ») doit être affiché quand vous êtes sur le point de perdre des données.
$cfg['LoginCookieRecall'] booléen
Définit si le compte de connexion précédent doit être rappelé en mode d'authentification par cookie.

Ceci est automatiquement désactivé si vous n'avez pas configuré $cfg['blowfish_secret'].
$cfg['LoginCookieValidity'] entier ['nombre de secondes']
Define how long is login cookie valid. Please note that php configuration option session.gc_maxlifetime might limit session validity and if session is lost, login cookie is also invalidated. So it is a good idea to set session.gc_maxlifetime not lower than the value of $cfg['LoginCookieValidity'].
$cfg['LoginCookieStore'] entier ['nombre de secondes']
Définit la durée de stockage d'un cookie de connexion dans votre navigateur. Par défaut, 0 signifie qu'il sera conservé pour la session en cours. Ceci est recommandé pour les environnements non sécurisés.
$cfg['LoginCookieDeleteAll'] booléen
Si activé (par défaut), la déconnexion supprime les cookies pour tous les serveurs, sinon seulement pour le serveur en cours. Définir ce paramètre à false permet d'oublier plus facilement de se déconnecter des autres des autres serveurs quand vous en utilisez plusieurs.
$cfg['UseDbSearch'] booléen
Définit si « rechercher une chaîne dans la base de données » est activé.
$cfg['IgnoreMultiSubmitErrors'] booléen
Définit si phpMyAdmin continuera à exécuter une requête multiple si l'une d'elles échoue. Par défaut, l'exécution de la requête multiple sera arrêtée.
$cfg['VerboseMultiSubmit'] booléen
Définit si phpMyAdmin affichera les résultats de chaque requête d'une requête multiple intégrés dans le fichier journal SQL en tant que commentaires insérés. Défini par défaut à TRUE.
$cfg['AllowArbitraryServer'] booléen
Si ce paramètre est activé, il vous permet de vous connecter à des serveurs arbitraires en utilisant l'authentification par cookie.

REMARQUE : Veuillez utiliser ce paramètre avec précaution, car il peut permettre aux utilisateurs d'accéder aux serveurs MySQL placés derrière votre pare-feu où votre serveur HTTP est situé.
$cfg['Error_Handler']['display'] boolean
Whether to display errors from PHP or not.
$cfg['Error_Handler']['gather'] boolean
Whether to gather errors from PHP or not.
$cfg['LeftFrameLight'] booléen
Définit si on utilise un menu construit par sélection et si on affiche seulement les tables en cours dans le cadre de gauche (page plus réduite). Vous ne pouvez utiliser la fonctionnalité d'affichage des dossiers imbriqués en utilisant $cfg['LeftFrameTableSeparator'] qu'en mode non allégé.
$cfg['LeftFrameDBTree'] booléen
En mode allégé, définit si l'affichage des noms de bases de données (dans le sélecteur) se fait en utilisant un arbre, voir également $cfg['LeftFrameDBSeparator'].
$cfg['LeftFrameDBSeparator'] chaîne ou tableau
La chaîne est utilisée pour séparer les parties du nom de la base de données lors de leur affichage dans un arbre. Alternativement, vous pouvez spécifier plus de chaînes dans un tableau, et toutes seront utilisées comme séparateur.
$cfg['LeftFrameTableSeparator'] chaîne
Définit une chaîne à utiliser pour les espaces de table imbriquée. Défini par défaut à '__'. Ceci signifie que si vous avez des tables telles que  'première__seconde__troisième' elles seront affichées comme une hiérarchie à trois niveaux telle que : premier > seconde > troisième. Si défini à FALSE ou vide, la fonctionnalité est désactivée. REMARQUE : vous ne devez pas utiliser ce séparateur dans un nom de table comme préfixe ou suffixe, ou plusieurs fois consécutivement à l'intérieur du nom de la table.
$cfg['LeftFrameTableLevel'] chaîne
Définit le nombre de sous-niveaux qui doivent être affichés quand les tables sont subdivisées par le séparateur ci-dessus.
$cfg['ShowTooltip'] booléen
Définit si un commentaire de table est affiché comme info-bulle dans le cadre de gauche.
$cfg['ShowTooltipAliasDB'] booléen
Si les info-bulles sont activées et qu'un commentaire de base de données est défini, cela affichera le commentaire et le nom réel de la table. Cela signifie que si vous avez une table appelée 'user0001' et que vous y ajoutiez le commentaire 'MonNom', vous verrez donc le nom 'MonNom' utilisé dans le cadre de gauche et l'info-bulle affichera le vrai nom de la base de données.
$cfg['ShowTooltipAliasTB'] booléen
Identique à $cfg['ShowTooltipAliasDB'], sauf qu'il fonctionne pour les noms de tables. Quand il est défini à 'nested', l'alias du nom de table est seulement utilisé pour diviser/imbriquer les tables selon la directive $cfg['LeftFrameTableSeparator']. Donc, seul le dossier est appelé comme l'alias, le nom de la table elle-même demeure le vrai nom de la table.
Définit si le logo de phpMyAdmin est affiché en haut, dans le cadre de gauche. Défini par défaut à TRUE.
Saisissez l'URL vers laquelle le logo du panneau de gauche pointera. À utiliser notamment pour les thèmes personnalisés qui changent cela. La valeur par défaut pour cela est main.php.
$cfg['LeftLogoLinkWindow'] chaêne
Définit si la page liée doit s'ouvrir dans la fenêtre principale (main) ou dans une nouvelle fenêtre (new). Note : utilisez new si vous êtes lié à phpmyadmin.net.
$cfg['LeftDisplayServers'] booléen
Définit si un choix de serveur est proposé en haut, dans le cadre de gauche. Défini par défaut à FALSE.
$cfg['LeftDefaultTabTable'] chaîne
Définit l'onglet affiché par défaut en cliquant sur la petite icône à côté de chaque nom de table dans le panneau de navigation. Les valeurs possibles sont : « tbl_structure.php », « tbl_sql.php », « tbl_select.php », « tbl_change.php » ou « sql.php ».
$cfg['DisplayServersList'] booléen
Définit si ce choix de serveur est affiché sous forme de liens ou de liste déroulante. Défini par défaut à FALSE (liste déroulante).
$cfg['DisplayDatabasesList'] booléen ou texte
Définit si le choix de base de données dans le cadre de navigation allégée doit être affiché sous forme de liens plutôt que sous forme de liste déroulante. Par défaut à 'auto' - sur la page principale où est affichée la liste, quand la base de données est sélectionnée, seule la liste déroulante est affichée.
$cfg['ShowStats'] booléen
Définit  si on affiche l'espace disque utilisé et les statistiques sur les bases de données et les tables.
Les statistiques nécessitent au moins la version 3.23.3 de MySQL 3.23.3 et, à ce jour, MySQL ne fournit pas de telles informations pour les tables de base de données Berkeley.
$cfg['ShowServerInfo'] booléen
Définit si l'affichage des informations détaillées sur le serveur doit se faire sur la page principale. Vous pouvez aussi masquer plus d'informations en utilisant $cfg['Servers'][$i]['verbose'].
$cfg['ShowPhpInfo'] booléen
$cfg['ShowChgPassword'] booléen
$cfg['ShowCreateDb'] booléen
Définit si on affiche les liens « Afficher les informations relatives à PHP » et « Modifier le mot de passe » ou le formulaire de crétion de base de données dans le cadre principal (de droite) de démarrage. Ce paramètre ne vérifie pas les commandes MySQL entrées directement.

Veuillez noter que pour empêcher l'utilisation de phpinfo() dans les scripts, vous devez mettre ceci dans votre fichier php.ini :
disable_functions = phpinfo()
Veuillez également noter qu'activer le lien « Modifier le mot de passe » n'a pas d'effet utilisé avec le mode d'authentification « config »: parce que le mot de passe est codé dans le fichier de configuration, les utilisateurs finaux ne sont pas autorisés à changer leur mot de passe.
$cfg['SuggestDBName'] booléen
Définit si un nom de base de données doit être suggéré dans le formulaire « Créer une base de données » ou si le champ est laissé vide.
$cfg['NavigationBarIconic'] chaîne
Définit si les boutons de la barre de navigation et le menu supérieur du panneau de droite affichent le texte ou les icônes seulement. La valeur TRUE affiche les icônes, FALSE affiche seulement le texte et 'both' affiche le texte et les icônes.
$cfg['ShowAll'] booléen
Définit si un utilisateur peut avoir un bouton « Tout afficher » en mode « Afficher ».
$cfg['MaxRows'] entier
Nombre de colonnes affichées lors de la navigation sur un ensemble de résultats. Si le nombre des colonnes est supérieur, des liens « Suivant » et « Précédent » seront affichés.
$cfg['Order'] chaîne ['DESC|ASC|SMART']
Defines whether columns are displayed in ascending (ASC) order, in descending (DESC) order or in a "smart" (SMART) order - I.E. descending order for columns of type TIME, DATE, DATETIME and TIMESTAMP, ascending order else- by default.
$cfg['DisplayBinaryAsHex'] booléen
Définit si l'option de navigation « Montrer le contenu binaire en hexadécimal » est coché par défaut.
$cfg['ProtectBinary'] booléen ou chaîne
Defines whether BLOB or BINARY columns are protected from editing when browsing a table's content. Valid values are:
  • FALSE to allow editing of all columns;
  • 'blob' to allow editing of all columns except BLOBS;
  • 'all' to disallow editing of all BINARY or BLOB columns.
$cfg['ShowFunctionFields'] booléen
Définit si les champs des fonctions MySQL doivent être affichés en mode modification/insertion. Depuis la version 2.10, l'utilisateur peut changer ce paramètre à partir de l'interface.
$cfg['ShowFieldTypesInDataEditView'] boolean
Defines whether or not type fields should be initially displayed in edit/insert mode. The user can toggle this setting from the interface.
$cfg['CharEditing'] chaîne
Defines which type of editing controls should be used for CHAR and VARCHAR columns. Possible values are:
  • input - this allows to limit size of text to size of columns in MySQL, but has problems with newlines in columns
  • textarea - no problems with newlines in columns, but also no length limitations
Par défaut, l'ancien comportement est utilisé, c'est-à-dire input.
$cfg['InsertRows'] entier
Définit le nombre maximum d'entrées simultanées pour la page Insertion.
$cfg['ForeignKeyMaxLimit'] entier
S'il y a moins d'éléments que ce nombre dans le jeu de clés étrangères, alors un menu déroulant des clés étrangères est proposé, avec le style décrit dans le paramètre $cfg['ForeignKeyDropdownOrder'].
$cfg['ForeignKeyDropdownOrder'] tableau
Il y a plusieurs méthodes d'affichage pour les champs du menu déroulant des clés étrangères, proposant la clé et sa valeur. Le tableau doit contenir une ou les deux valeurs suivantes : 'content-id', 'id-content'.
$cfg['ZipDump'] booléen
$cfg['GZipDump'] booléen
$cfg['BZipDump'] booléen
Définit si on utilise la compression zip/GZip/BZip2 lors de la création de fichiers d'exportation.
$cfg['CompressOnFly'] booléen
Définit si on autorise la compression à la volée pour des exportations au formats GZip/BZip2. Ceci n'affecte pas les plus petites exportations et permet aux utilisateurs d'en créer de plus grandes, qui sans cela, ne tiendraient pas en mémoire, à cause de la limitation mémoire de php. Produit des fichiers contenant plus d'en-têtes GZip/BZip2, mais tous les programmes courants les manipulent correctement.
$cfg['LightTabs'] chaîne
Si défini à TRUE, utilise des onglets graphiquement moins consommateurs pour l'unité centrale.
$cfg['PropertiesIconic'] chaîne
Si défini à TRUE, affichera des icônes au lieu d'un texte pour les liens de propriétés des bases de données et des tables (comme 'Afficher', 'Sélectionner', 'Insérer', …).
Peut être paramétré à 'both' si vous voulez les icônes et le texte.
Quand il est défini à FALSE, n'affiche que le texte.
$cfg['PropertiesNumColumns'] entier
Définit le nombre de colonnes qui seront utilisées pour afficher les tables dans la vue propriété de la base de données. Par défaut, une colonne. En définissant cette variable à une valeur supérieure à un, le type de la base de données sera omis pour offrir plus de place pour l'affichage.
$cfg['DefaultTabServer'] chaîne
Définit l'onglet affiché par défaut dans la vue serveur. Les valeurs autorisées sont : « main.php » (recommandé pour les configurations multi-utilisateurs), « server_databases.php », « server_status.php », « server_variables.php », « server_privileges.php » ou « server_processlist.php ».
$cfg['DefaultTabDatabase'] chaîne
Définit l'onglet affiché par défaut pour la vue base de données. Les valeurs autorisées sont : « db_structure.php », « db_sql.php » ou « db_search.php ».
$cfg['DefaultTabTable'] chaîne
Définit l'onglet affiché par défaut dans la vue table. Les valeurs autorisées sont : « tbl_structure.php », « tbl_sql.php », « tbl_select.php », « tbl_change.php » ou « sql.php ».
$cfg['MySQLManualBase'] chaîne
Si défini sur une URL qui pointe vers la documentation de MySQL (le type dépend de $cfg['MySQLManualType']), les liens d'aide appropriés sont générés.
Voir la Page de documentation MySQL pour plus de renseignements sur les manuels de MySQL et leurs types.
$cfg['MySQLManualType'] chaîne
Type de documentation MySQL :
  • viewable - « consultable en ligne », utilisé actuellement sur le site Web de MySQL
  • searchable - « Recherche, avec commentaires des utilisateurs »
  • chapters - « HTML, une page par chapitre »
  • big - « HTML, tout dans une seule page »
  • none - ne montre pas les liens de documentation
$cfg['DefaultLang'] chaîne
Définit la langue par défaut à utiliser, si ce n'est pas le cas, la configuration du navigateur ou celle de l'utilisateur sera utilisée.
The corresponding language file needs to be in locale/code/LC_MESSAGES/phpmyadmin.mo.
$cfg['DefaultConnectionCollation'] chaîne
Définit la connexion par défaut à utiliser si elle n'est pas définie par l'utilisateur.
Consultez la documentation MySQL pour obtenir une liste des valeurs possibles.
$cfg['Lang'] chaîne
Force language to use.
The corresponding language file needs to be in locale/code/LC_MESSAGES/phpmyadmin.mo.
$cfg['FilterLanguages'] chaîne
Limite la liste des langues disponibles à celle concordant à une expression régulière donnée. Par exemple, si vous ne voulez que le tchèque et l'anglais, vous devrez définir le filtre suivant : '^(cs|en)'.
$cfg['RecodingEngine'] chaîne
Pour pouvez choisir ici quelles fonctions seront utilisées pour la conversion de page de code. Les valeurs autorisées sont :
  • auto - utilise automatiquement une fonction disponible (la première testée est iconv, puis recode),
  • iconv - utilise les fonctions iconv ou libiconv,
  • recode - utilise la fonction recode_string.
  • none - disable encoding conversion
Par défaut à auto.
Enabled charset conversion activates a pull-down menu in the Export and Import pages, to choose the character set when exporting a file. The default value in this menu comes from $cfg['Export']['charset'] and $cfg['Import']['charset'].
$cfg['IconvExtraParams'] chaîne
Spécifie des paramètres pour iconv utilisés dans la conversion de page de code. Voir la documentation iconv pour plus de renseignements. Par défaut //TRANSLIT est utilisé de sorte que les caractères invalides soient substitués.
$cfg['AvailableCharsets'] tableau
Pages de code disponibles pour la conversion MySQL. Vous pouvez ajouter la vôtre (n'importe laquelle prise en charge par recode/iconv) ou supprimer celle dont vous ne vous servez pas. Les pages de code seront affichées dans le même ordre que celui défini ici; aussi, si vous en utilisez fréquemment quelques-unes, faites les figurer en début de tableau.
$cfg['TrustedProxies'] tableau
Liste les proxies et les en-têtes HTTP qui sont sûrs pour IP Allow/Deny. Cette liste est vide par défaut. Vous devez renseigner des serveurs proxy de confiance si vous voulez utiliser des règles pour les adresses IP derrière un proxy.

L'exemple suivant spécifie que phpMyAdmin doit faire confiance à un en-tête HTTP_X_FORWARDED_FOR (X-Forwarded-For) provenant du proxy 1.2.3.4 :
$cfg['TrustedProxies'] =
     array('1.2.3.4' => 'HTTP_X_FORWARDED_FOR');
La directive $cfg['Servers'][$i]['AllowDeny']['rules'] utilise l'adresse IP du client comme d'habitude.
$cfg['GD2Available'] chaîne
Spécifie si GD est disponible en version 2 ou ultérieure. Si c'est le cas, il peut être utilisé pour les transformations MIME.
Les valeurs autorisées sont :
  • auto - détection automatique, qui est une opération consommatrice pour les versions de php antérieures à la 4.3.0; aussi, il est préférable de changer ce paramètre en fonction des possibilités réelles de votre serveur,
  • yes - les fonctions GD 2 peuvent être utilisées,
  • no - les fonctions GD 2 ne peuvent pas être utilisées.
Par défaut à auto.
$cfg['CheckConfigurationPermissions'] booléen
Nous vérifions normalement les permissions sur le fichier de configuration pour nous assurer qu'il n'est pas accessible en écriture pour tout le monde. Cependant, phpMyAdmin pourrait être installé sur un système de fichiers NTFS monté sur un serveur non-Windows, auquel cas les permissions semblent erronées mais elles ne peuvent en fait pas être détectées. Dans ce cas, un administrateur système voudrait définir ce paramètre à FALSE. Par dafut, il est défini à TRUE.
$cfg['LinkLengthLimit'] entier
Limite de la longueur de l'URL dans les liens. Quand la longueur est supérieure à cette limite, le lien est remplacé par un formulaire avec un bouton. Ceci est nécessaire car certains serveurs Web (IIS) ont des problemes avec les URL longues. La valeur par défaut est 1000.
$cfg['NaviWidth'] entier
Largeur du cadre de navigation en pixels. Voir themes/themename/layout.inc.php.
$cfg['NaviBackground'] chaîne ['code css valide pour l'arrière-plan']
$cfg['MainBackground'] chaîne ['code css valide pour l'arrière-plan']
Les styles d'arrière-plan utilisés pour les deux cadres. Voir themes/themename/layout.inc.php.
$cfg['NaviPointerBackground'] chaîne ['code css valide pour l'arrière-plan']
$cfg['NaviPointerColor'] string ['couleur css valide']
Le style utilisé pour le pointeur dans le cadre de navigation. Voir themes/themename/layout.inc.php.
$cfg['NaviDatabaseNameColor'] chaîne [code css valide]
La couleur utilisée pour le nom de la base de données dans le cadre de navigation. Voir themes/themename/layout.inc.php.
$cfg['LeftPointerEnable'] booléen
Une valeur à TRUE active le pointeur de navigation (quand LeftFrameLight est à FALSE).
$cfg['Border'] entier
Taille de la bordure d'une table. Voir themes/themename/layout.inc.php.
$cfg['ThBackground'] chaîne ['code css valide pour l'arrière-plan']
$cfg['ThColor'] chaîne ['couleur css valide']
Le style utilisé pour les en-têtes de table. Voir themes/themename/layout.inc.php.
$cfg['BgOne'] chaîne ['couleur HTML']
La couleur (HTML) numéro 1 pour les premiers enregistrements de table. Voir themes/themename/layout.inc.php.
$cfg['BgTwo'] chaîne ['couleur HTML']
La couleur (HTML) numéro 2 pour les seconds enregistrements de table. Voir themes/themename/layout.inc.php.
$cfg['BrowsePointerBackground'] chaîne ['couleur HTML']
$cfg['BrowsePointerColor'] chaîne ['couleur HTML']
$cfg['BrowseMarkerBackground'] chaîne ['couleur HTML']
$cfg['BrowseMarkerColor'] chaîne ['couleur HTML']
Les couleurs (HTML) utilisées pour le pointeur et le marqueur en mode affichage.
La première met en surbrillance l'enregistrement sur lequel passe votre souris et la dernière vous permet de marquer/démarquer les enregistrements en cliquant dessus.
Voir themes/themename/layout.inc.php.
$cfg['FontFamily'] chaîne
Mettre ici la valeur pour une famille de polices valide CSS, par exemple arial, sans-serif.
Voir themes/themename/layout.inc.php.
$cfg['FontFamilyFixed'] chaîne
Mettre ici la valeur pour une famille de polices valide CSS, par exemple monospace. Celle-ci est utilisée pour les zone de texte (textarea).
Voir themes/themename/layout.inc.php.
$cfg['BrowsePointerEnable'] booléen
Activation ou désactivation du pointeur de navigation.
$cfg['BrowseMarkerEnable'] booléen
Activation ou désactivation du marqueur de navigation.
$cfg['TextareaCols'] entier
$cfg['TextareaRows'] entier
$cfg['CharTextareaCols'] entier
$cfg['CharTextareaRows'] entier
Nombre de colonnes et d'enregsitrements pour les zones de texte.
Cette valeur sera multipliée par 2 pour les zones de texte de requête SQL et par 1,25 pour les zones de texte SQL à l'intérieur de la fenêtre de requête.
Les valeurs Char* sont utilisées pour l'édition de CHAR et VARCHAR (si configurées dans $cfg['CharEditing']).
$cfg['LongtextDoubleTextarea'] booléen
Defines whether textarea for LONGTEXT columns should have double size.
$cfg['TextareaAutoSelect'] booléen
Définit si toute la surface de la zone de texte de la boîte de requête sera sélectionnée en cliquant dessus.
$cfg['CtrlArrowsMoving'] booléen
Permet le déplacement entre les champs à l'aide de Ctrl + flèches de direction (Option + flèches de direction dans Safari) lors de l'édition.
$cfg['LimitChars'] entier
Maximum number of characters shown in any non-numeric field on browse view. Can be turned off by a toggle button on the browse page.
$cfg['ModifyDeleteAtLeft'] booléen $cfg['ModifyDeleteAtRight'] booléen
Définit l'endroit où les liens modifier et supprimer seront affichés quand le contenu des tables est affichée (vous pouvez les voir affichés à la fois à gauche et à droite). « Gauche » et « droite » sont traduits par « haut » et « bas » en mode d'affichage vertical.
$cfg['DefaultDisplay'] string
There are 3 display modes: horizontal, horizontalflipped and vertical. Define which one is displayed by default. The first mode displays each row on a horizontal line, the second rotates the headers by 90 degrees, so you can use descriptive headers even though columns only contain small values and still print them out. The vertical mode sorts each row on a vertical lineup.
$cfg['HeaderFlipType'] string
The HeaderFlipType can be set to 'auto', 'css' or 'fake'. When using 'css' the rotation of the header for horizontalflipped is done via CSS. The CSS transformation currently works only in Internet Explorer.If set to 'fake' PHP does the transformation for you, but of course this does not look as good as CSS. The 'auto' option enables CSS transformation when browser supports it and use PHP based one otherwise.
$cfg['DefaultPropDisplay'] chaîne ou entier
When editing/creating new columns in a table all fields normally get lined up one field a line. (default: 'horizontal'). If you set this to 'vertical' you can have each field lined up vertically beneath each other. You can save up a lot of place on the horizontal direction and no longer have to scroll. If you set this to integer, editing of fewer columns will appear in 'vertical' mode, while editing of more columns still in 'horizontal' mode. This way you can still effectively edit large number of columns, while having full view on few of them.
$cfg['ShowBrowseComments'] booléen
$cfg['ShowPropertyComments'] booléen
By setting the corresponding variable to TRUE you can enable the display of column comments in Browse or Property display. In browse mode, the comments are shown inside the header. In property mode, comments are displayed using a CSS-formatted dashed-line below the name of the column. The comment is shown as a tool-tip for that column.
$cfg['SQLQuery']['Edit'] booléen
Définit l'affichage d'un lien pour modifier une requête dans toute boîte SQL Query.
$cfg['SQLQuery']['Explain'] booléen
Définit l'affichage d'un lien pour expliquer une requête SELECT dans toute boîte SQL Query.
$cfg['SQLQuery']['ShowAsPHP'] booléen
Définit l'affichage d'un lien pour incorporer une requête dans du code PHP dans toute boîte SQL Query.
$cfg['SQLQuery']['Validate'] booléen
Définit l'affichage d'un lien pour valider une requête dans toute boîte SQL Query. Voir également $cfg_SQLValidator.
$cfg['SQLQuery']['Refresh'] booléen
Définit l'affichage d'un lien pour actualiser une requête dans toute boîte SQL Query.
$cfg['UploadDir'] chaîne
Le nom du répertoire où les fichiers SQL ont été transférés autrement qu'avec phpMyAdmin (ftp, par exemple). Ces fichiers sont disponibles sous forme d'une liste déroulante quand vous cliquez sur le nom d'une base de données ou d'une table, puis l'onglet Import.

Si vous voulez un répertoire différent pour chaque utilisateur, %u sera remplacé par le nom d'utilisateur.

Veuillez noter que le nom des fichiers doit avoir le suffixe « .sql » (ou « .sql.bz2 » ou « .sql.gz » si la gestion des formats compressés est activée).

Cette fonctionnalité est utile quand votre fichier est trop gros pour être transféré en HTTP, ou quand les transferts de fichiers sont désactivés dans PHP.

Veuillez noter également que si PHP est exécuté en mode sécurisé, ce répertoire doit appartenir au même utilisateur que le propriétaire des scripts.

Voir aussi la section FAQ 1.16 pour des alternatives.
$cfg['SaveDir'] chaîne
Le nom du répertoire où les fichiers d'exportation peuvent être sauvegardés.

Si vous voulez un répertoire différent pour chaque utilisateur, %u sera remplacé par le nom d'utilisateur.

Veuillez noter que le répertoire doit être accessible en écriture à l'utilisateur du serveur Web.

Veuillez noter également que si PHP est exécuté en mode sécurisé, ce répertoire doit appartenir au même utilisateur que le propriétaire des scripts.
$cfg['TempDir'] chaîne
Le nom du répertoire où les fichiers temporaires peuvent être stockés.

Ceci est nécessaire pour l'exportation au format natif MS Excel, voir la section FAQ 6.23 et pour contourner les limitations de open_basedir pour les fichiers téléchargés, consulter la FAQ1.11.

Si le répertoire où est installé phpMyAdmin est sujet à une restriction open_basedir, vous devez créer un répertoire temporaire dans un répertoire accessible par le serveur Web. Cependant, pour des raisons de sécurité, ce répertoire doit se situer en dehors de l'arbre publié par le serveur Web. Si vous ne pouvez pas éviter que ce répertoire soit publié par le serveur Web, placez-y au moins un fichier index.html vide, de sorte d'empêcher le listage du répertoire.

Ce répertoire devra avoir les permissions les plus strictes possibles car le seul utilisateur à devoir accèder à ce répertoire est celui qui exécute le serveur Web. Si vous avez des privilèges root, rendez simplement cet utilisateur propriétaire de ce répertoire, et ne le rendez accessible que par lui :

chown www-data:www-data tmp
chmod 700 tmp
Si vous ne pouvez changer le propriétaire du répertoire, vous pouvez effectuer uen configuration similaire en utilisant une LCA :
chmod 700 tmp
setfacl -m "g:www-data:rwx" tmp
setfacl -d -m "g:www-data:rwx" tmp
Si aucune de ces deux solutions ne fonctionne pour vous, vous pouvez toujours rendre le répertoire chmod 777, mais cela pourraient imposer des risques de sécurité aux autres utilisateurs du système qui lisent et écrivent des données dans ce répertoire.
$cfg['Export'] tableau
Dans ce tableau sont définis les paramètres par défaut pour les fichiers d'exportation; les noms des items sont similaires aux textes vus dans la page d'exportation, de la sorte vous pouvez facilement identifier ce qu'ils signifient.
$cfg['Export']['method'] string
Defines how the export form is displayed when it loads. Valid values are:
  • quick to display the minimum number of options to configure
  • custom to display every available option to configure
  • custom-no-form same as custom but does not display the option of using quick export
$cfg['Import'] tableau
Dans ce tableau sont définis les paramètres par défaut pour l'importation. Les noms des éléments sont similaires aux textes affichés dans la page d'importation, de sorte que vous pouvez facilement identifier ce qu'ils signifient.
$cfg['RepeatCells'] entier
Répète les en-têtes toutes les X cellules, ou 0 pour désactiver.
$cfg['EditInWindows'] booléen
$cfg['QueryWindowWidth'] entier
$cfg['QueryWindowHeight'] entier
$cfg['QueryHistoryDB'] booléen
$cfg['QueryWindowDefTab'] chaîne
$cfg['QueryHistoryMax'] entier
Toutes ces variables affectent la nouvelle fenêtre/cadre de requête. Quand Un lien ou une icône SQL est toujours affiché dans le panneau de gauche. Si JavaScript est activé dans votre navigateur, cliquer dessus provoque l'ouverture  de la boîte de requête, une interface directe pour saisir les requêtes SQL.

La taille de la fenêtre de requête peut être personnalisée avec $cfg['QueryWindowWidth'] et $cfg['QueryWindowHeight'] - les deux paramètres sont des entiers exprimant la taille en pixels. Veuillez noter que normalement, ces paramètres seront modifiés dans layout.inc.php pour le thème que vous utilisez.

Si $cfg['EditInWindows'] est défini à TRUE, cliquer sur ['Modifier'] à partir de la page des résultats (dans la section « Affichage des enregistrements ») ouvre la fenêtre de requête et y met la requête en cours. S'il est défini à FALSE, cliquer sur le lien met la requête SQL dans la boîte de requête du panneau droit.

L'utilisation, de la fenêtre de requête JavaScript est recommandée si vous avez un navigateur gérant le JavaScript. Les fonctions de bases sont utilisées pour échanger quelques variables, aussi, la plupart des navigateurs de 4ème génération doivent être capables d'utiliser cette fonctionnalité. Actuellement, cela a été seulement testé avec Internet Explorer 6 et Mozilla 1.x.

Si $cfg['QueryHistoryDB'] est défini à TRUE, toutes vos requêtes sont journalisées dans une table, que vous devez créer (voir $cfg['Servers'][$i]['history']). Si il est défini à FALSE, toutes vos requêtes seront ajoutées au formulaire, mais elles seront sauvegardées seulement tant que votre fenêtre est ouverte.

En utilisant la fenêtre de requête basée sur JavaScript, elle sera toujours mise à jour quand vous cliquez sur une nouvelle table/base de données à afficher et se réduira si vous cliquez sur « Modifier SQL » après avoir utilisé une requête. Vous pouvez supprimer la mise à jour de la fenêtre de requête en cochant la case « Ne pas écraser cette requête depuis une autre fenêtre » sous la zone de texte de requête. Alors vous pouvez afficher des tables/bases de données en arrière-plan sans perdre le contenu de la zone de texte, ce qui est particulièrement pratique quand vous faites des requêtes sur des tables dont vous devez d'abord regarder le contenu. La case sera automatiquement cochée chaque fois que vous changez le contenu de la zone de texte. Décochez cette case si jamais vous vouliez que la fenêtre de requêtes soit toujours mise à jour, même si vous avez fait des modifications.

Si $cfg['QueryHistoryDB'] est défini à TRUE, vous pouvez spécifier le nombre d'entrées dans l'historique en utilisant $cfg['QueryHistoryMax'].

La fenêtre de requêtes a également des onglets pour regrouper les fonctionnalités. En utilisant la variable $cfg['QueryWindowDefTab'] vous pouvez spécifier l'onglet par défaut à utiliser à l'ouverture de la fenêtre de requêtes. Elle peut être définie à 'sql', 'files', 'history' ou 'full'.
$cfg['BrowseMIME'] booléen
Active les Transformations MIME.
$cfg['MaxExactCount'] entier
Pour les tables InnoDB, détermine pour quelle taille de tables phpMyAdmin doit obtenir le nombre de lignes exact avec SELECT COUNT. Si le compte approximatif de lignes renvoyé par SHOW TABLE STATUS est inférieur à cette valeur, SELECT COUNT sera utilisé, sinon, la valeur approximative sera utilisée.
$cfg['MaxExactCountViews'] entier
Pour VIEW, puisqu'obtenir le compte exact pourrait avoir un impact sur les performances, cette valeur est la valeur maximum à afficher, en utilisant un SELECT COUNT ... LIMIT. La valeur par défaut de 0 passe outre tout comptage de lignes.
$cfg['NaturalOrder'] booléen
Trie les noms des bases de données en ordre naturel (par exemple, t1, t2, t10). Actuellement mis en oeuvre dans le panneau de gauche (Mode allégé) et dans la vue Base de données, pour la liste des tables.
$cfg['InitialSlidersState'] chaîne
Si défini à 'closed', les cases de défilement visuel sont initialement dans un état fermé. Une valeur 'open' fait le contraire. Pour désactiver complètement toutes les cases de défilement visuel, utiliser 'disabled'.
$cfg['UserprefsDisallow'] array
Contains names of configuration options (keys in $cfg array) that users can't set through user preferences. For possible values, refer to libraries/config/user_preferences.forms.php.
$cfg['TitleTable'] chaîne
$cfg['TitleDatabase'] chaîne
$cfg['TitleServer'] chaîne
$cfg['TitleDefault'] chaîne
Allows you to specify window's title bar. You can use format string expansion.
$cfg['ErrorIconic'] booléen
Utilise des icônes pour les avertissements, les erreurs et les informations.
$cfg['MainPageIconic'] booléen
Utilise des icônes pour les listes de la page principale et les onglets de menus.
$cfg['ReplaceHelpImg'] booléen
Affiche un bouton d'aide plutôt que le message « Documentation ».
$cfg['ThemePath'] chaîne
Si le gestionnaire de thèmes est actif, utilise ceci comme le chemin du sous-répertoire contenant les tous les thèmes.
$cfg['ThemeManager'] booléen
Active la sélection par l'utilisateur des thèmes. Voir FAQ 2.7.
$cfg['ThemeDefault'] string
Le thème par défaut (un sous-répertoire de cfg['ThemePath']).
$cfg['ThemePerServer'] booléen
Autorise ou non un thème différent pour chaque serveur.
$cfg['DefaultQueryTable'] chaîne
$cfg['DefaultQueryDatabase'] chaîne
Default queries that will be displayed in query boxes when user didn't specify any. You can use standard format string expansion.
$cfg['SQP']['fmtType'] chaîne ['html|none']
L'utilisation principale du nouvel analyseur syntaxique SQL est de permettre un affichage de requêtes SQL plus clair. Par défaut, nous utilisons HTML pour mettre en page la requête, mais vous pouvez désactiver ce paramètre en définissant cette variable à 'none'.
$cfg['SQP']['fmtInd'] flottant
$cfg['SQP']['fmtIndUnit'] chaîne [em|px|pt|ex]
Pour un affichage plus clair des requêtes SQL, dans certains cas, la partie d'une requête à l'intérieur de parenthèses est indentée. En changeant $cfg['SQP']['fmtInd'] vous pouvez modifier l'importance de cette indentation.
Dans le même ordre d'idée, $cfg['SQP']['fmtIndUnit'] spécifie les unités de la valeur de l'indentation que vous avez spécifié. Ceci est utilisé pour les feuilles de style.
$cfg['SQP']['fmtColor'] tableau de tuples chaîne
Ce tableau est utilisé pour définir les couleurs pour chaque type d'élément de requêtes SQL afin de les lire plus facilement. Le format du tuple est :
classe => ['code couleur HTML | chaîne vide']
Si vous spécifiez une chaîne vide pour la couleur d'une classe, elle est ignorée lors de la création de la feuille de style. Vous ne devez pas modifier les noms de classes, seulement les chaînes couleur.
Clé pour le nom de classe :
  • comment s'applique à toutes les sous-classes de commentaires
  • comment_mysql commentaires tels que « #…\n »
  • comment_ansi commentaires tels que « --…\n" »
  • comment_c commentaires tels que « /*…*/ »
  • digit s'applique à toutes les sous-classes nombre
  • digit_hex nombres hexadécimaux
  • digit_integer nombres entiers
  • digit_float nombres à virgule flottante
  • punct s'applique à toutes les sous classes ponctuation
  • punct_bracket_open_round parenthèses ouvrantes « ( »
  • punct_bracket_close_round parenthèses fermantes « ) »
  • punct_listsep séparateur de liste « , »
  • punct_qualifier qualificateur de table/colonne « . »
  • punct_queryend marqueur de fin de requête « ; »
  • alpha s'applique à toutes les sous-classes alphabétiques
  • alpha_columnType identifiants correspondant à un type de colonne
  • alpha_columnAttrib identifiants correspondant à un attribut de base de données/table/colonne
  • alpha_functionName identifiants correspondant à un nom de fonction MySQL
  • alpha_reservedWord identifiants correspondant à tout autre mot réservé
  • alpha_variable identifiants correspondant à une variable SQL « @foo »
  • alpha_identifier tout autre identifiant
  • quote s'applique à toutes les sous-classes de marques de citation
  • quote_double guillemets anglais "
  • quote_single apostrophes '
  • quote_backtick apostrophes inversées `
$cfg['SQLValidator'] booléean
$cfg['SQLValidator']['use'] booléean
phpMyAdmin gère maintenant l'utilisation du service Mimer SQL Validator, tel qu'il a été publié sur Slashdot.
Pour trouver de l'aide sur le paramétrage de votre système pour utiliser ce service, voir la section FAQ 6.14.
$cfg['SQLValidator']['username'] chaîne
$cfg['SQLValidator']['password'] chaîne
Le service SOAP vous permet de vous connecter avec anonymous et n'importe quel mot de passe, aussi nous les utilisons par défaut. Par contre, si vous avez un compte de connexion, vous pouvez mettre ici vos détails de connexion, et ils seront utilisés à la place de la connexion anonyme.
$cfg['DBG']['enable'] booléen
DÉVELOPPEURS SEULEMENT !
$cfg['DBG']['sql'] boolean
DÉVELOPPEURS SEULEMENT !
Active la journalisation des requêtes et des temps d'exécution qui sont alors affichés au bas de la page principale (panneau de droite).
$cfg['DBG']['php'] boolean
DÉVELOPPEURS SEULEMENT !
Active l'extension DBG pour le débogage phpMyAdmin. Nécessaire pour analyser le code.
Pour l'aide dans le paramétrage de votre système avec cette fonctionnalité, voir la section Développeurs.
$cfg['DBG']['profile']['enable'] booléen
DÉVELOPPEURS SEULEMENT !
Active la gestion de l'analyse pour phpMyAdmin. Ceci ajoutera un gros paquet de données à la fin de chaque page affichée dans la fenêtre principale avec les statistiques d'analyse pour cette page.
Vous aurez peut-être besoin d'augmenter le temps maximum d'exécution pour que cela fonctionne correctement.Le profilage a été supprimé du code de la version 2.9.0 pour des problèmes de licence.
$cfg['DBG']['profile']['threshold'] flottant (unités en millisecondes)
DÉVELOPPEURS SEULEMENT !
Quand un audit de données est affiché, cette variable contrôle le seuil d'affichage pour chaque audit de données, fondé sur le temps moyen que chacun a pris. S'il est supérieur au seuil, il est affiché, sinon il n'est pas affiché. Ceci prend une valeur en millisecondes. Dans la plupart des cas, vous n'avez pas besoin de modifier ce paramètre.
$cfg['ColumnTypes'] tableau
Tous les types possibles de colonnes MySQL. Dans la plupart des cas, vous n'avez pas besoin de modifier ce paramètre.
$cfg['AttributeTypes'] tableau
Possible attributes for columns. In most cases you don't need to edit this.
$cfg['Functions'] tableau
Une liste de fonctions que gère MySQL. Dans la plupart des cas, vous n'avez pas besoin de modifier ce paramètre.
$cfg['RestrictColumnTypes'] tableau
Mappage de types de colonnes utilisées pour l'affichage des fonctions favorites. Dans la plupart des cas, vous n'avez pas besoin de modifier ce paramètre.
$cfg['RestrictFunctions'] tableau
Les fonctions favorites pour la colonne méta-types comme définies dans $cfg['RestrictColumnTypes']. Dans la plupart des cas, vous n'avez pas besoin de modifier ce paramètre.
$cfg['DefaultFunctions'] tableau
Fonctions sélectionnées par défaut pour insérer/modifier un enregistrement. Les fonctions sont définies pour les méta-types de $cfg['RestrictColumnTypes'] et pour first_timestamp, qui est utilisé pour la première colonne d'horodatage dans une table.
$cfg['NumOperators'] tableau
Operators available for search operations on numeric and date columns.
$cfg['TextOperators'] tableau
Operators available for search operations on character columns. Note that we put LIKE by default instead of LIKE %...%, to avoid unintended performance problems in case of huge tables.
$cfg['EnumOperators'] tableau
Operators available for search operations on ENUM columns.
$cfg['NullOperators'] tableau
Additional operators available for search operations when the column can be null.

Transformations

  1. Introduction
  2. Utilisation
  3. Structure de fichier

1. Introduction

Pour permettre les transformations, vous devez paramétrer la table column_info et les directives appropriées. Veuillez consulter la section Configuration sur la manière de faire.

You can apply different transformations to the contents of each column. The transformation will take the content of each column and transform it with certain rules defined in the selected transformation.

Say you have a column 'filename' which contains a filename. Normally you would see in phpMyAdmin only this filename. Using transformations you can transform that filename into a HTML link, so you can click inside of the phpMyAdmin structure on the column's link and will see the file displayed in a new browser window. Using transformation options you can also specify strings to append/prepend to a string or the format you want the output stored in.

Pour un aperçu général sur les transformations et leurs options, vous pouvez consulter la page <www.votre-hote.com>/<votre-repertoire-installation>/transformations/overview.php de votre installation.

Pour un tutoriel sur la façon d'utiliser efficacement les transformations, voir notre section Links sur la page d'accueil officielle de phpMyAdmin.

2. Utilisation

Consultez votre page tbl_structure.inc.php (c'est-à-dire, atteindre la page en cliquant le lien 'Structure' d'une table). Cliquez alors sur « Modifier » (ou l'icône Modifier) et alors vous verrez trois nouveaux champs à la fin de la ligne qui sont : 'Type MIME', 'Transformation' et 'Options de transformation'.

3. Structure de fichier

Tous les types mime et leurs transformations sont définis dans des fichiers dans le répertoire 'libraries/transformations/'.

Ils sont emmagasinés dans des fichiers pour faciliter la personnalisation et l'ajout aisé de nouvelles transformations.

Because the user cannot enter own mimetypes, it is kept sure that transformations always work. It makes no sense to apply a transformation to a mimetype the transform-function doesn't know to handle.

One can, however, use empty mime-types and global transformations which should work for many mimetypes. You can also use transforms on a different mimetype than what they where built for, but pay attention to option usage as well as what the transformation does to your column.

Il y a un fichier de base appelé 'global.inc.php'. Cette fonction peut être incluse dans n'importe quelle autre transformation et fournit des fonctions de base.

Il y a cinq noms de fichiers possibles :

  1. Une transformation typemime+soustype :

    ['typemime']_['soustype']__['transformation'].inc.php

    Veuillez noter que typemime et soustype sont séparés par '_', qui ne doit pas être contenu dans leurs noms. La transformation fonction/nomfichier ne doit contenir que des caractères qui ne posent pas de problème pour le système de fichier et pour la convention de nommage de fonction de PHP.

    La fonction de transformation sera appelée 'transformation_PMA_['typemime']_['soustype']__['transformation']()'.

    Exemple :

    text_html__formatted.inc.php
    PMA_transform_text_html__formatted()
  2. Une transformation de type mime (sans sous-type) :

    ['typemime']__['transformation'].inc.php

    Veuillez noter qu'il n'y a pas de caractère '_' isolé. La transformation fonction/nomfichier doit contenir seulement des caractères qui ne posent pas de problème pour le système de fichier et pour la convention de nommage de PHP.

    La fonction de transformation sera appelée 'transformation_PMA_['typemime']__['transformation']()'.

    Exemple :

    text__formatted.inc.php
    transformation_PMA_text__formatted()
  3. Une transformation typemime+soustype sans fonction de transformation spécifique

    ['typemime']_['soustype'].inc.php

    Veuillez noter qu'il n'y a pas de caractère '_' dans le fichier. N'utilisez pas de caractères spéciaux dans le nom de fichier posant des problèmes avec le système de fichiers.

    Aucune fonction de transformation n'est définie dans le fichier lui-même.

    Exemple :

    text_plain.inc.php
    (Pas de fonction)
  4. Une transformation de type mime (sans sous-type) sans fonction de transformation spécifique

    ['typemime'].inc.php

    Veuillez noter qu'il n'y a pas de caractère '_' dans le nom de fichier. N'utilisez pas de caractères spéciaux dans le nom de fichier posant des problèmes avec le système de fichiers.

    Aucune fonction de transformation n'est définie dans le fichier lui-même.

    Exemple :

    text.inc.php
    (Pas de fonction)
  5. Une fonction de transformation globale sans type mime spécifique

    global__['transform'].inc.php

    La fonction de transformation sera appelée 'transformation_PMA_global__['transform']()'.

    Exemple :

    global__formatted
    transformation_PMA_global__formatted()

Utilisez donc généralement  '_' pour séparer le type mime du sous-type, et '__' pour annoncer la fonction de transformation.

Tous les fichiers ne contenant pas '__' ne sont pas affichés en tant que fonctions de transformation valides dans la liste déroulante.

Please see the libraries/transformations/TEMPLATE file for adding your own transform function. See the libraries/transformations/TEMPLATE_MIMETYPE for adding a mimetype without a transform function.

Pour créer une nouvelle fonction de transformation, veuillez consulter libraries/transformations/template_generator.sh. Pour créer un nouveau type mime vide, veuillez consulter libraries/transformations/template_generator_mimetype.sh.

Une fonction de transformation a toujours besoin de trois variables :

  1. $buffer - contient le texte de la colonne. C'est le texte que vous voulez transformer.
  2. $options - contient toutes les options passées par l'utilisateur à la fonction de transformation sous forme de tableau.
  3. $meta - Contains an object with information about your column. The data is drawn from the output of the mysql_fetch_field() function. This means, all object properties described on the manual page are available in this variable and can be used to transform a column accordingly to unsigned/zerofill/not_null/... properties.
    The $meta->mimetype variable contains the original MIME-type of the column (i.e. 'text/plain', 'image/jpeg' etc.)

Additionally you should also provide additional function to provide information about the transformation to the user. This function should have same name as transformation function just with appended _info suffix. This function accepts no parameters and returns array with information about the transformation. Currently following keys can be used:

info
Long description of the transformation.

FAQ - Foire Aux Questions

  1. Serveur
  2. Configuration
  3. Limitations
  4. Multi-utilisateur
  5. Navigateurs
  6. Astuces d'utilisation
  7. Projet
  8. Sécurité
  9. Synchronisation

Veuillez jeter un œil à notre section Links sur la page d'accueil officielle de phpMyAdmin pour une revue détaillée des fonctionnalités de phpMyAdmin et/ou de son interface.

1. Serveur

1.1 My server is crashing each time a specific action is required or phpMyAdmin sends a blank page or a page full of cryptic characters to my browser, what can I do?

Essayez de paramétrer la directive $cfg['OBGzip'] à FALSE dans votre fichier config.inc.php et la directive zlib.output_compression à OFF dans votre fichier de configuration php.

1.2 Mon serveur Apache plante en utilisant phpMyAdmin.

Vous devez tout d'abord essayer les dernières versions de Apache (et si possible de MySQL).
Veuillez également consulter la section FAQ 1.1 sur les bogues de PHP avec le cache de résultats (output buffering).
Si votre serveur continue à planter, veuillez demander de l'aide dans les divers groupes d'entraide de Apache.

1.3 (withdrawn).

1.4 J'utilise phpMyAdmin avec IIS, et j'obtiens le message d'erreur : « L'application CGI spécifiée a mal fonctionné en ne renvoyant pas de jeu complet d'en-têtes HTTP… ».

Vous avez juste oublié de lire le fichier install.txt de la distribution php. Consultez le dernier message dans ce rapport de bogue de la base de données officielle de bogues de PHP.

1.5 Using phpMyAdmin on IIS, I'm facing crashes and/or many error messages with the HTTP.

Ceci est un problème connu du filtre ISAPI de PHP : il n'est pas très stable. Veuillez utiliser plutôt le mode d'authentification par cookie.

1.6 Je ne peux pas utiliser phpMyAdmin avec PWS : rien ne s'affiche !

Cela semble être un bogue de PWS. Filippo Simoncini a trouvé une solution de rechange (pour le moment, il n'y a pas de meilleur moyen) : supprimez ou mettez en commentaire les déclarations DOCTYPE (deux lignes) des scripts libraries/header.inc.php, libraries/header_printview.inc.php, index.php, navigation.php et libraries/libraries/common.lib.php.

1.7 Comment puis-je compresser avec GZip ou Bzip un fichier d'exportation ou un export CSV ? Il semble que cela ne fonctionne pas.

These features are based on the gzencode() and bzcompress() PHP functions to be more independent of the platform (Unix/Windows, Safe Mode or not, and so on). So, you must have Zlib/Bzip2 support (--with-zlib and --with-bz2).

1.8 Je ne peux pas insérer un fichier texte dans une table, et j'obtiens une erreur concernant le mode sécurisé qui est utilisé.

Votre fichier transféré est sauvegardé dans votre « répertoire de transfert », tel que défini dans le fichier php.ini par la variable upload_tmp_dir (habituellement, le répertoire système par défaut est /tmp).
Nous vous recommandons le paramétrage suivant pour les serveurs Apache exécutés en mode sécurisé, pour activer les transferts de fichiers tout en étant raisonnablement sécurisés :

1.9 (withdrawn).

1.10 J'ai des problèmes en transférant des fichiers avec phpMyAdmin exécuté sur un serveur sécurisé. Mon navigateur est Internet Explorer et j'utilise un serveur Apache.

Comme l'a suggéré « Rob M » dans le forum phpWizard, ajoutez cette ligne dans votre fichier httpd.conf :

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

Il semble que cela supprime beaucoup de problèmes entre Internet Explorer et SSL.

1.11 J'obtiens 'open_basedir restriction' en téléchargeant un fichier depuis la boîte de requête.

Depuis la version 2.2.4, phpMyAdmin gère les serveurs avec les restrictions open_basedir. Cependant, vous devez créer un répertoire temporaire et le configurer comme $cfg['TempDir']. Les fichiers transmis seront déplacés ici, at après l'exécution de vos commandes SQL, ils seront supprimés.

1.12 J'ai perdu le mot de passe de super-utilisateur de MySQL, que puis-je faire ?

Le manuel MySQL explique comment réinitialiser les permissions.

1.13 (withdrawn).

1.14 (withdrawn).

1.15 I have problems with mysql.user column names.

In previous MySQL versions, the User and Passwordcolumns were named user and password. Please modify your column names to align with current standards.

1.16 Je ne peux pas transférer de gros fichiers d'exportation (problèmes de mémoire, HTTP ou de temporisation - timeout).

À partir de la version 2.7.0, le moteur d'importation a été ré-écrit et ces problèmes ne devraient plus arriver. Si possible, mettez à jour votre phpMyAdmin avec la dernière version pour tirer parti des nouvelles fonctionnalités d'importation.

Les premières choses à vérifier (ou à demander à votre fournisseur d'accès de vérifier) sont les valeurs upload_max_filesize, memory_limit et post_max_size dans le fichier de configuration php.ini. L'ensemble de ces trois paramètres limitent la taille maximale des données qui peuvent être soumises par PHP. Un utilisateur a également dit que post_max_size et memory_limit doivent être plus grandes que upload_max_filesize.

Il existe plusieurs moyens de contournement si votre upload est trop gros ou si votre hébergeur ne souhaite pas modifier les paramètres :

1.17 Quelles versions de MySQL sont gérées par phpMyAdmin ?

Depuis phpMyAdmin 3.0.x, seules les versions 5.0.1 et supérieures de MySQL 5.0.1 sont gérées. Pour les versions plus anciennes de MySQL, vous devez utiliser la branche 2.8.x. phpMyAdmin peut se connecter à votre serveur MySQL en utilisant l'extension PHP classique MySQL ou l'extension MySQL améliorée (MySQLi) disponible dans php 5.0. Cette dernière doit être utilisée à moins que vous n'ayez de bonnes raisons de ne pas le faire.
En compilant PHP, nous recommandons fortement de lier manuellement l'extension MySQL de votre choix à une bibliothèque client MySQL d'au moins la même version mineure, puisque celle qui est fournie avec les distributions de PHP actuelles est plutôt ancienne et pourrait causer des problèmes (voir également FAQ 1.17a). Si votre serveur Web fonctionne sous un système Windows, vous devriez essayer le connecteur PHP de MySQL plutôt que les extensions MySQL / MySQLi livrées avec les versions Win32 PHP officielles. MySQL 5.1 n'est pas encore géré.

1.17a Je ne peux pas me connecter au serveur MySQL. Il renvoie toujours le message d'erreur, « Le client ne gère pas le protocole d'authentification requis par le serveur; envisagez de mettre à jour votre client MySQL ».

Vous avez essayé d'accéder à MySQL avec une ancienne bibliothèque client MySQL. La version de votre bibliothèque client MySQL peut être vérifiée dans le résultat de votre fonction phpinfo(). En général, elle devrait avoir au moins la même version mineure que votre serveur - comme cela est précisé dans la section FAQ 1.17.

Ce problème est généralement observé en utilisant MySQL version 4.1 ou ultérieure. MySQL a changé l'empreinte numérique (« hash ») d'authentification et votre PHP essaie d'utiliser l'ancienne méthode. La solution adéquate est d'utiliser l'extension mysqli avec la bonne bibliothèque client pour correspondre à votre installation MySQL. L'extension que vous avez choisie est indiquée dans $cfg['Servers'][$i]['extension']. Vous trouverez plus d'informations (et de moyens de contournement) dans la documentation MySQL.

1.18 (withdrawn).

1.19 Je ne peux pas utiliser la fonctionnalité « Afficher les relations » parce que le script semble ne pas connaître la police que j'utilise !

La bibliothèque « FPDF » que nous utilisons pour cette fonctionnalité nécessite des fichiers spéciaux pour utiliser les polices.
Veuillez vous référer au manuel FPDF pour construire ces fichiers.

1.20 Je reçois l'erreur « PHP ne peut charger l'extension MySQL, veuillez vérifier votre configuration de PHP ».

Pour se connecter à un serveur MySQL, PHP a besoin d'un jeu de fonctions MySQL appelées « extension MySQL ». Cette extension peut faire partie de la distribution PHP (intégrée), sinon elle doit être chargée dynamiquement. Son nom est vraisemblablement mysql.so ou php_mysql.dll. phpMyAdmin a essayé de charger l'extension mais a échoué.

D'habitude le problème est résolu en installant un paquetage nommé « PHP-MySQL » ou quelque chose de similaire.

1.21 J'utilise la version CGI de PHP sous Unix, et je ne peux pas me connecter en utilisant l'authentification par cookie.

Dans le fichier php.ini, définissez mysql.max_links à une valeur supérieure à 1.

1.22 Je ne vois pas le champ « Emplacement du fichier texte », aussi je ne peux pas transférer.

Ceci est dû très probablement au fait que dans votre fichier php.ini, votre paramètre file_uploads n'est pas défini à « on ».

1.23 I'm running MySQL on a Win32 machine. Each time I create a new table the table and column names are changed to lowercase!

Ceci arrive parce que la directive MySQL lower_case_table_names est définie par défaut à 1 (ON) dans la version Win32 de MySQL. vous pouvez changer ce comportement en changeant simplement la directive à 0 (OFF) :
Éditez votre fichier my.ini qui doit se trouver dans votre répertoire Windows et ajouter la ligne suivante au groupe ['mysqld'] :

set-variable = lower_case_table_names=0

Ensuite, sauvegardez le fichier et redémarrez le service MySQL. Vous pouvez toujours vérifier la valeur de cette directive en utilisant la requête suivante

SHOW VARIABLES LIKE 'lower_case_table_names';

1.24 (withdrawn).

1.25 J'utilise Apache avec mod_gzip-1.3.26.1a sur Windows XP, et j'ai des problèmes, comme par exemple, des variables non définies quand j'exécute une requête SQL.

Une astuce de Jose Fandos : mettez en commentaire les deux lignes suivantes dans votre fichier httpd.conf, comme ceci :

# mod_gzip_item_include file \.php$
# mod_gzip_item_include mime "application/x-httpd-php.*"

car cette version de mod_gzip sur Apache (Windows) a des problèmes pour manipuler les scripts PHP. Bien sûr, vous devrez redémarrer Apache.

1.26 Je viens d'installer phpMyAdmin dans le document racine de IIS mais j'obtiens l'erreur « Le fichier spécifié est introuvable » quand j'essaie d'exécuter phpMyAdmin.

C'est un problème de permission. Faites un clic droit sur le dossier phpmyadmin et sélectionner Propriétés. Dans l'onglet Sécurité, cliquez sur « Ajouter » et sélectionner l'utilisateur « IUSR_machine » à partir de la liste. Définissez maintenant ses permissions et cela devrait fonctionner.

1.27 J'obtiens une page vide lorsque je veux voir une très grosse page (par exemple, db_details_structure.php avec beaucoup de tables).

C'est un bogue PHP qui survient quand le cache de résultats GZIP (output buffering) est activé. Si vous le désactivez (en définissant $cfg['OBGzip'] = false dans votre fichier config.inc.php), cela devrait fonctionner. Ce bogue sera corrigé dans PHP version 5.0.0.

1.28 Mon serveur MySQL refuse quelquefois des requêtes et renvoie le message 'Errorcode: 13'. Qu'est-ce que cela signifie ?

Cela peut arriver à cause d'un bogue de MySQL quand vous avez des noms de base de données/tables avec des caractères en majuscules bien que lower_case_table_names soit défini à 1. Pour corriger ceci, désactivez cette directive, convertissez tous les noms de vos tables et base de données en minuscules et réactivez-la. Il y a également un correctif disponible à partir de MySQL 3.23.56 / 4.0.11-gamma.

1.29 When I create a table or modify a column, I get an error and the columns are duplicated.

Il est possible de configurer Apache de telle façon que PHP a des problèmes en interprétant les fichiers .php.

Les problèmes surviennent quand deux jeux de directives différents (et en conflit) sont utilisés :

SetOutputFilter PHP
SetInputFilter PHP

et

 AddType application/x-httpd-php .php 

Dans le cas que nous avons constaté, un jeu de directives était dans le fichier /etc/httpd/conf/httpd.conf, alors que l'autre était dans le fichier /etc/httpd/conf/addon-modules/php.conf.
La manière recommandée est AddType, mettez seulement en commentaire le premier jeu de lignes et redémarrez Apache :

#SetOutputFilter PHP
#SetInputFilter PHP

1.30 J'obtiens l'erreur « left.php: Missing hash ».

Ce problème est connu pour survenir quand le serveur exécute Turck MMCache, mais la mise à jour de MMCache en version 2.3.21 résoud le problème.

1.31 phpMyAdmin gè-t-il php5 ?

Oui.

Depuis la version 3.0 seul PHP 5.2 et versions plus récentes. Pour les anciennes versions PHP la branche 2.9 est toujours maintenue.

1.32 Puis-je utiliser l'authentification HTTP avec IIS ?

Oui. Cette procédure a été testée avec phpMyAdmin 2.6.1, PHP 4.3.9 en mode ISAPI sous IIS 5.1.

  1. Dans votre fichier php.ini, paramétrez cgi.rfc2616_headers = 0
  2. Dans la boîte de dialogue Propriétés de site -> Sécurité de fichier/répertoire -> Accès anonyme, cochez la case Accès anonyme et décochez toutes les autres cases (c-à-d décochez Authentification de base, Authenfication intégrée Windows, et Digest si ces cases sont cochées). Cliquez sur OK.
  3. Dans Erreurs personnalisées, sélectionnez de 401;1 à 401;5 et cliquez sur le bouton Définir par défaut.

1.33 Y a-t-il un problème avec l'extension mysqli quand on utilise PHP 5.0.4 sur des systèmes 64 bits ?

Oui. Ce problème affecte phpMyAdmin (« Appel à la fonction indéfinie pma_reloadnavigation »), aussi, veuillez mettre à jour votre version de PHP.

1.34 Puis-je accéder directement aux pages des bases de données ou des tables ?

Oui. Sans autre configuration, vous pouvez utiliser des URL de type http://server/phpMyAdmin/index.php?db=database&table=table&target=script. Pour server, vous utilisez le numéro du serveur qui réfère à l'ordre dans le paragraphe « server » dans le fichier config.inc.php. Les parties « table » et « script » sont optionnelles. Si vous voulez utiliser des URL du type http://server/phpMyAdmin/database['/table']['/script'], vous devrez faire quelques ajustements. Les lignes suivantes ne s'appliquent que pour un serveur Web Apache. D'abord, assurez-vous que vous avez activé certaines fonctionnalités dans la configuration globale. Vous avez besoin que Options FollowSymLinks et AllowOverride FileInfo soient activés pour le répertoire où est installé phpMyAdmin et que « mod_rewrite » soit activé. Alors, vous aurez seulement besoin de créer le fichier .htaccess suivant dans le dossier racine de l'installation de phpMyAdmin (n'oubliez pas de changer le nom du répertoire) :

RewriteEngine On
RewriteBase /path_de_phpMyAdmin
RewriteRule ^(['a-zA-Z0-9_']+)/(['a-zA-Z0-9_']+)/(['a-z_']+\.php)$ index.php?db=$1&table=$2&target=$3 ['R']
RewriteRule ^(['a-zA-Z0-9_']+)/(['a-z_']+\.php)$ index.php?db=$1&target=$2 ['R']
RewriteRule ^(['a-zA-Z0-9_']+)/(['a-zA-Z0-9_']+)$ index.php?db=$1&table=$2 ['R']
RewriteRule ^(['a-zA-Z0-9_']+)$ index.php?db=$1 ['R']

1.35 Puis-je utiliser l'authentification HTTP avec Apache CGI ?

Oui. Cependant vous aurez besoin de passer la variable d'authentification à CGI en utilisant la règle rewrite suivante :

RewriteEngine On
RewriteRule .* - ['E=REMOTE_USER:%{HTTP:Authorization},L']

1.36 I get an error « 500 Internal Server Error ».

Il peut y avoir plusieurs explications à cela et consulter le journal des erreurs de votre serveur devrait vous donner une piste.

1.37 J'exécute phpMyAdmin sur un cluster de différentes machines et le chiffrement du mot de passe dans le cookie d'authentification ne fonctionne pas.

Si votre cluster est composé de machines d'architectures différentes, le code PHP utilisé pour le chiffrement/déchiffrement ne fonctionnera pas correctement. Ceci est dû à l'utilisation des focntions pack/unpack dans le code. La seule solution est d'utiliser l'extension mcrypt qui fonctionne bien dans ce cas.

1.38 Puis-je utiliser phpMyAdmin sur un serveur sur lequel Suhosin est activé ?

Yes but the default configuration values of Suhosin are known to cause problems with some operations, for example editing a table with many columns and no primary key or with textual primary key.

Suhosin configuration might lead to malfunction in some cases and it can not be fully avoided as phpMyAdmin is kind of application which needs to transfer big amounts of columns in single HTTP request, what is something what Suhosin tries to prevent. Generally all suhosin.request.*, suhosin.post.* and suhosin.get.* directives can have negative effect on phpMyAdmin usability. You can always find in your error logs which limit did cause dropping of variable, so you can diagnose the problem and adjust matching configuration variable.

The default values for most Suhosin configuration options will work in most scenarios, however you might want to adjust at least following parameters:

You can also disable the warning using the SuhosinDisableWarning directive.

1.39 Quand j'essaie de me connecter en https, je peux me connecter, mais ma connexion est redirigée en http. Qu'est-ce qui peut causer ce comportement ?

Assurez-vous d'avoir activé SSLOptions et StdEnvVars dans votre configuration Apache. Consulter http://httpd.apache.org/docs/2.0/mod/mod_ssl.html#ssloptions.

1.40 When accessing phpMyAdmin via an Apache reverse proxy, cookie login does not work.

Pour pouvoir utiliser l'authetification par cookie, Apache doit savoir qu'il doit ré-écrire les en-têtes set-cookie.
Exemple pris dans la documentation de Apache 2.2 :

ProxyPass /mirror/foo/ http://backend.example.com/
ProxyPassReverse /mirror/foo/ http://backend.example.com/
ProxyPassReverseCookieDomain backend.example.com public.example.com 
ProxyPassReverseCookiePath / /mirror/foo/ 

Note : si l'URL de backend ressemble à http://host/~user/phpmyadmin, le tilde « ~ » doit être encodé en « %7E » dans les lignes ProxyPassReverse. Ce n'est pas spécifique à phpmyadmin, c'est juste le comportement d'Apache.

ProxyPass /mirror/foo/ http://backend.example.com/~user/phpmyadmin
ProxyPassReverse /mirror/foo/
http://backend.example.com/%7Euser/phpmyadmin
ProxyPassReverseCookiePath /%7Euser/phpmyadmin /mirror/foo

Consulter http://httpd.apache.org/docs/2.2/mod/mod_proxy.html pour plus de détails.

1.41 Quand je vois une base de données et que je demande à voir ses privilèges, j'obtiens une erreur à propos d'une colonne inconnue.

Les tables de privilèges du serveur MySQL ne sont pas à jour, vous devez exécuter la commande mysql_upgrade sur le serveur.

Configuration

2.1 Le message d'erreur « Warning: Cannot add header information - headers already sent by … » est affiché, quel est le problème ?

Éditez votre fichier config.inc.php et assurez-vous qu'il n'y a rien (c'est-à-dire pas de ligne blanche, pas d'espace, pas de caractère…) ni devant la balise <?php au début du fichier, ni après la balise ?> à la fin du fichier. Nous avons aussi eu un rapport d'un utilisateur sous IIS, qui utilisait un kit de distribution zippé : le fichier libraries/Config.class.php contenait un caractère de fin de ligne (hex 0A) en fin de fichier ; en supprimant ce caractère, les erreurs disparaissaient.

2.2 phpMyAdmin ne peut pas se connecter à MySQL. Qu'est-ce qui ne va pas ?

Il y a soit une erreur dans votre configuration PHP, soit votre utilisateur/mot de passe. Essayez de faire un petit script qui utilise mysql_connect et voyez s'il fonctionne. Si ce n'est pas le cas, il se peut que vous n'ayez pas compilé la gestion de MySQL dans PHP.

2.3 Le message d'erreur « Warning: MySQL Connection Failed: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)… » est affiché. Que puis-je faire ?

Pour les utilisateurs RedHat, Harald Legner suggère ceci sur la liste de diffusion :

Sur mon système RedHat le socket de MySQL est /var/lib/mysql/mysql.sock. Dans votre fichier php.ini vous trouverez une ligne

mysql.default_socket = /tmp/mysql.sock

changez-la pour :

mysql.default_socket = /var/lib/mysql/mysql.sock

Redémarrez alors Apache et cela fonctionnera.

Voici un correctif proposé par Brad Ummer :

Consultez également la section correspondante dans la documentation MySQL.

2.4 Rien ne s'affiche dans mon navigateur quand j'essaie d'exécuter phpMyAdmin, que puis-je faire ?

Essayez de définir la directive $cfg['OBGZip'] à FALSE dans le fichier de configuration de phpMyAdmin. Cela aide parfois.
Veuillez également regarder le numéro de version de PHP : s'il contient « 4.0b… » cela signifie que vous exécutez une version beta de PHP. Ce n'est pas une très bonne idée, veuillez mettre à jour dans une version stable.

2.5 Chaque fois que je veux insérer ou modifier un enregistrement ou supprimer une base de données ou une table, une erreur 404 (page introuvable) est affichée; ou, avec l'authentification HTTP ou par cookie, on me demande de me reconnecter. Qu'est-ce qui ne va pas ?

Vérifier la valeur que vous avez définie dans votre directive $cfg['PmaAbsoluteUri'] dans votre fichier de configuration phpMyAdmin.

2.6 J'obtiens une erreur « Access denied for user: 'root@localhost' (Using password: YES) » en essayant d'accéder un serveur MySQL sur un hôte dont le port est redirigé sur mon ordinateur hôte local.

Quand vous utilisez un port sur votre ordinateur local, que vous redirigez à l'aide d'une redirection de port vers un autre hôte, MySQL ne résoud pas le nom d'hôte local comme il le devrait.
Erik Wasser explains: The solution is: if your host is "localhost" MySQL (the command line tool mysql as well) always tries to use the socket connection for speeding up things. And that doesn't work in this configuration with port forwarding.
Si vous mettez « 127.0.0.1 » comme nom d'hôte, tout est correct et MySQL utilise la connexion TCP.

Utiliser et créer des thèmes

Les thèmes sont configurés avec $cfg['ThemePath'], $cfg['ThemeManager'] et $cfg['ThemeDefault'].

Sous $cfg['ThemePath'], vous ne devez pas supprimer le répertoire « original » ou ses sous-répertoires, car c'est le thème système utilisé par phpMyAdmin. « original » contient tous les styles et images, pour des raisons de compatibilité descendante et pour tous les thèmes qui qui ne comportent pas d'images ou de fichiers css.

Si $cfg['ThemeManager'] est activé, vous pouvez sélectionner votre thème préféré à partir de la page principale. Le thème sélectionné sera alors stocké dans un cookie.

Pour créer un thème :

Dans le répertoire « theme » il y a info.inc.php qui contient le nom long, la génération et la version du thème. Ces versions et générations sont énumérées à partir de 1 et n'ont aucune dépendances directes avec la version de phpMyAdmin. Les thèmes d'une même génération doivent être rétro-compatibles - un thème de version 2 devrait fonctionner avec phpMyAdmin nécessitant une version 1. Les thèmes de générations différentes sont incompatibles.

Si vous ne voulez pas utiliser vos propres symboles et boutons, supprimez le répertoire « img » dans « votre_nom_de_theme ». phpMyAdmin utilisera les icônes et boutons par défaut (du thème système « original »).

J'obtiens des erreurs « Missing parameters », que puis-je faire ?

Vérifiez les points suivants :

2.9 Afficher les barres de progression d'upload

Pour pouvoir voir une barre de progression pendant vos uploads, votre serveur doit avoir soit l'extension APC soit l'extension uploadprogress. De plus, l'extension JSON doit être activée dans votre installation PHP.

Si vous utilisez APC, vous devez définir le paramètre apc.rfc1867 à on dans votre fichier php.ini.

Limitations connues

3.1 When using HTTP authentication, a user who logged out can not log in again in with the same nick.

Cela est dû au mécanisme du protocole d'authentification utilisé par phpMyAdmin. Pour contourner ce problème : fermez toutes les fenêtres de navigateur ouvertes et retournez dans phpMyAdmin. Vous devriez être en mesure de vous reconnecter.

3.2 En exportant une grosse table en mode compressé, j'obtiens une erreur de limitation mémoire ou une erreur de dépassement de limite de temps.

Les fichiers d'exportations compressés sont construits en mémoire et à cause de cela sont limités par la limite mémoire de php. Pour les exportations GZip/BZip2, ceci peut être outrepassé depuis la version 2.5.4 en utilisant $cfg['CompressOnFly'] (activé par défaut). Les exportations Zip ne peuvent pas être traitées de cette façon, donc si vous avez besoin de fichiers Zip pour des exportations plus importantes, vous devrez utiliser un autre moyen.

3.3 Avec les tables InnoDB, je perds les relations de clés étrangères quand je renomme une table ou une colonne.

C'est un bogue de InnoDB, consulter http://bugs.mysql.com/bug.php?id=21704.

3.4 Je n'arrive pas à importer des fichiers d'exportation que j'ai créés avec l'outil mysqldump fourni dans la distribution de MySQL serveur.

The problem is that older versions of mysqldump created invalid comments like this:

-- MySQL dump 8.22
--
-- Host: localhost Database: database
---------------------------------------------------------
-- Server version 3.23.54

La partie invalide du code est la ligne horizontale de tirets qui apparaît une fois dans chaque fichier d'exportation créé avec mysqldump. Si vous voulez utiliser votre fichier d'exportation, vous devrez le transformer en code valide MySQL. Cela signifie que vous devrez ajouter une espace après les deux premiers tirets de la ligne ou ajouter un # devant :
-- -------------------------------------------------------
ou
#---------------------------------------------------------

3.5 En utilisant des dossiers imbriqués il y a de multiples hiérarchies qui sont mal affichées ? ! ($cfg['LeftFrameTableSeparator'])

Veuillez noter que vous ne devez pas utiliser la chaîne de séparation plusieurs fois sans insérer de caractère entre ces chaînes, ou au début/fin de votre nom de table. Si vous devez le faire, cherchez un autre séparateur de table ou désactivez la fonctionnalité.

3.6 Qu'est-ce qui n'est actuellement pas géré par phpMyAdmin avec InnoDB ?

In Relation view, being able to choose a table in another database, or having more than one index column in the foreign key.

Dans Query-by-example (Query), la génération automatique de la requête LEFT JOIN à partir d'une table étrangère.

3.7 I have table with many (100+) columns and when I try to browse table I get series of errors like "Warning: unable to parse url". How can this be fixed?

Votre table n'a pas de clé primaire ou de clé unique, ce qui oblige à utiliser une expression longue pour identifier cette ligne. Cela pose des problèmes à la fonction parse_url. La solution de rechange est de créer une clé primaire ou une clé unique.

3.8 I cannot use (clickable) HTML-forms in columns where I put a MIME-Transformation onto!

À cause d'un container de formulaires (utilisé pour les cases à cocher de suppression de plusieurs lignes), les formulaires imbriqués ne peuvent pas être mis à l'intérieur de la table ou phpMyAdmin affiche les résultats. Vous pouvez cependant utiliser tout formulaire à l'intérieur d'une table si vous gardez le container de formulaires parent avec la cible tbl_row_delete.php et mettez vos éléments de saisie à l'intérieur. Si vous utilisez un champ de soumission de saisie personnalisé, le formulaire sera soumis lui-même vers la page d'affichage à nouveau, où vous pouvez valider les $HTTP_POST_VARS dans une transformation. Pour un tutoriel sur la façon d'utiliser efficacement les transformations, voir notre section Links sur la page d'accueil officielle de phpMyAdmin.

3.9 J'obtiens des messages d'erreur en utilisant « --sql_mode=ANSI » pour le serveur MySQL.

Quand MySQL est exécuté en mode de compatibilité ANSI, il y a des différences majeures dans la façon dont SQL est structuré (voir http://dev.mysql.com/doc/mysql/en/ANSI_mode.html). Le plus important, le caractère guillemet (") est interprété en tant que caractère guillemet identifiant et non comme le caractère guillemet annonçant une chaîne, ce qui provoque des requêtes SQL invalides dans beaucoup d'opérations internes de phpMyAdmin. Il n'y a pas de solution de rechange à ce comportement. Des nouvelles sur ce sujet seront postées dans le rapport de bogue #816858

3.10 Homonymes et pas de clé primaire : Quand les résultats d'un SELECT affiche plus d'une colonne avec la même valeur (par exemple SELECT nom from employes where prenom like 'A%' et que deux valeurs « Smith » sont affichées), si je clique sur Modifier, je ne peux pas être sûr que je modifie la bonne ligne.

Veuillez vous assurer que votre table a une clé primaire, ainsi phpMyAdmin peut l'utiliser pour les liens  Modifier et Effacer.

3.11 Le nombre d'enregistrement pour les tables InnoDB est incorrect.

phpMyAdmin utilise une méthode rapide pour obtenir le nombre de lignes, et cette méthode ne renvoie qu'un nombre approximatif pour les tables InnoDB. Voir $cfg['MaxExactCount'] pour le moyen de modifier ces résultats, mais cela peut avoir un sérieux impact sur les performances.

3.12 Quelles sont les limitations de phpMyAdmin avec MySQL 3 ?

Le nombre d'enregistrements dans les requêtes contenant COUNT et GROUP BY n'est pas calculé correctement. Également, le tri des résultats d'une requête telle que « SELECT * from table GROUP BY » … est problématique.

3.13 J'obtiens une erreur en saisissant USE suivi du nom d'une base de données contenant un trait d'union.

Les tests que j'ai effectués avec l'API actuelle de MySQL 4.1.11, montre que cette API n'accepte pas cette syntaxe pour la commande USE. En encadrant le nom de la base de données avec des apostrophes inversées (« ` »), cela fonctionne. Pour ajouter encore à la confusion, aucune apostrophe inversée n'est nécessaire en ligne de commande mysql.

3.14 Je n'arrive pas à naviguer dans une table quand je n'ai pas le droit de faire un SELECT sur une des colonnes.

C'est une limitation connue de phpMyAdmin depuis le début et ce ne sera probablement pas résolu à l'avenir.

3.15 Lors de l'import d'une feuile de tableur Excel, certaines cellules avec des calculs ne sont pas affichées correctement.

phpMyAdmin uses the PHPExcel library to parse Excel XLS and XLSX spreadsheets. Therefore, any limitations that are listed on their page regarding Excel calculations will also apply here.

PHPExcel sera maintenu à jour pour rendre disponible toutes les améliorations aux utilisateurs de phpMyAdmin.

3.16 Quand je compresse (gzip, bzip2, zip) un classeur Excel et que j'essaie de l'importer, rien ne se passe.

Puisque les classeurs Excel XLSX sont déjà compressés, il y a souvent très peu de gain à les compresser à nouveau. La gestion pour les classeurs Excel XLSX et XLS compressés sera peut-être ajoutée prochainement.

3.17 Lorsque j'importe une feuille de tableur Excel, mes types personnalisés de cellules ne sont pas représentées telles que dans Excel.

La représentation interne des types personnalisés de cellules dans Excel est plutôt confuse (particulièrement dans les fichiers binaires XLS Excel 97-2003). Si possible, songez à utiliser un type intégré. Ils garantissent presque toujours un import correct.

3.18 Lors de l'import d'un fichier CSV qui contient plusieurs tables, elles sont fusionnées en une seule.

Il n'existe pas de moyen fiable de différencier les tables en format CSV. Pour le moment, vous devrez fractionner les fichiers CSV contenant plusieurs tables.

3.19 Lors de l'import d'un fichier et quand phpMyAdmin détermine la structure de données appropriée, il n'utilise que les types int, decimal et varchar types.

Pour le moment, le système de détection de type ne peut affecter que ces types pour les colonnes. Prochainement, d'autres types seront certainement ajoutés, mais pour l'instant, vous devrez éditer la structure après l'import.

Vous devez également noter que phpMyAdmin utilisera la taille de l'élément le plus gros pour toute colonne donnée comme taille de colonne pour le type approprié. Si vous savez que vous importerez des éléments plus gros pour cette colonne, vous devez alors ajuster la taille de la colonne. Ceci est fait dans un but d'efficacité.

FAI, installation multi-utilisateurs

4.1 Je suis un FAI. Puis-je configurer une seule copie centralisée de phpMyAdmin ou dois-je faire l'installation pour chaque client ?

Depuis la version 2.0.3, vous pouvez configurer une copie centralisée de phpMyAdmin pour tous vos utilisateurs. Le développement de cette fonctionnalité a été aimablement sponsorisé par NetCologne GmbH. Ceci requiert une configuration correcte de la gestion des utilisateurs MySQL et l'utilisation de l'authentification HTTP ou par cookie pour phpMyAdmin. Voir la section Installation sur « Utiliser les modes d'authentification ».

4.2 Quel est le meilleur moyen de sécuriser phpMyAdmin contre les attaques malicieuses ?

Cela dépend de votre système.
Si vous utilisez un serveur qui ne peut pas être accédé par d'autres personnes, il est suffisant d'utiliser la protection de répertoire fournie avec votre serveur Web (avec Apache vous pouvez utiliser les fichiers .htaccess, par exemple).
Si d'autres personnes ont un accès telnet à votre serveur, vous devriez utiliser la fonctionnalité d'authentification HTTP ou par cookie de phpMyAdmin.

Suggestions :

4.3 J'obtiens des erreurs sur l'impossibilité d'inclure un fichier dans /lang ou dans /libraries.

Vérifier votre fichier php.ini, ou demander à votre administrateur système de le faire. include_path doit contenir « . » dans ses chemins et open_basedir, s'il est utilisé, doit contenir « . » et « ./lang » pour permettre un fonctionnement normal de phpMyAdmin.

4.4 phpMyAdmin donne toujours « Accès refusé » en utilisant l'authentification HTTP.

Cela peut arriver pour différentes raisons :

4.5 Est-il possible de laisser les utilisateurs créer leurs propres bases de données ?

À partir de la version 2.2.5, dans la page de gestion des utilisateurs, vous pouvez mettre un méta-caractère dans le nom de la base de données pour un utilisateur (par exemple « joe% »), et mettre les privilèges que vous voulez. Par exemple, en ajoutant SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER permettra à un utilisateur de créer/administrer sa(ses) base(s) de données.

4.6 Comment puis-je utiliser en plus l'authentification basée sur l'hôte ?

Si vous avez des règles existantes d'un ancien fichier .htaccess, vous pouvez le prendre et ajouter le nom d'utilisateur entre les chaînes 'deny'/'allow' et 'from'. Utiliser le méta-caractère '%' pour le nom d'utilisateur est un grand avantage si votre installation est adaptée pour l'utiliser. Ensuite, vous pouvez ajouter ces lignes mises à jour dans le tableau $cfg['Servers'][$i]['AllowDeny']['rules'].

Si vous voulez un exemple préfabriqué, vous pouvez essayer celui-ci. Il empêche l'utilisateur 'root' de se connecter à partir de n'importe quels réseaux autres que les réseaux IP privés.

//empêche root de se connecter sauf à partir des réseaux privés
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array(
  'deny root from all',
  'allow root from localhost',
  'allow root from 10.0.0.0/8',
  'allow root from 192.168.0.0/16',
  'allow root from 172.16.0.0/12',
  );

4.7 La fenêtre d'authentification est affichée plus d'une fois, pourquoi ?

Ceci arrive si vous utilisez une URL pour démarrer phpMyAdmin qui est différente de celle définie dans votre $cfg['PmaAbsoluteUri']. Par exemple, s'il manque « www », ou si vous entrez une adresse IP alors qu'un nom de domaine est défini dans le fichier de configuration.

4.8 Quels paramètres puis-je utiliser dans l'URL de démarrage de phpMyAdmin ?

Au démarrage de phpMyAdmin, vous pouvez utiliser les paramètres db, pma_username, pma_password et server. Ce dernier peut contenir soit l'index numérique de l'hôte (à partir de $i du fichier de configuration), soit un des noms d'hôtes présents dans le fichier de configuration. L'utilisation de pma_username et pma_password a été testée avec l'authentification 'cookie' auth_type.

Navigateurs et système d'exploitation client

5.1 I get an out of memory error, and my controls are non-functional, when trying to create a table with more than 14 columns.

We could reproduce this problem only under Win98/98SE. Testing under WinNT4 or Win2K, we could easily create more than 60 columns.
A workaround is to create a smaller number of columns, then come back to your table properties and add the other columns.

5.2 Avec Xitami 2.5b4, phpMyAdmin ne traite pas les champs formulaires.

Ce n'est pas un problème de phpMyAdmin mais un bogue connu de Xitami : vous rencontrerez ce problème chaque fois qu'un script/site Web utilise des formulaires.
Mettez à jour ou descendez d'une version votre serveur Xitami.

5.3 J'ai des problèmes d'exportation de table avec Konqueror (phpMyAdmin 2.2.2).

Avec Konqueror 2.1.1 : les fichiers d'exportation simples, zip et GZip fonctionnent bien, sauf que le nom de fichier proposé pour le fichier d'exportation est toujours 'tbl_dump.php'. Les fichiers d'exportation Bzip2 ne semblent pas fonctionner.
Avec Konqueror 2.2.1 : les fichiers d'exportation simples fonctionnent; les fichiers d'exportation zip sont placés dans le répertoire temporaire de l'utilisateur, aussi, ils doivent être déplacés avant de fermer Konqueror, sinon ils disparaissent. Les fichiers d'exportation GZip donnent un message d'erreur.
Des tests ont besoin d'être réalisés pour Konqueror 2.2.2.

5.4 Je ne peux pas utiliser le mode d'authentification par cookie car Internet Explorer ne stocke jamais les cookies.

MS Internet Explorer seems to be really buggy about cookies, at least till version 6.

5.5 Dans Internet Explorer 5.0, j'obtiens des messages d'erreur JavaScript quand je navigue dans mes enregistrements.

Mettez à jour au moins en version Internet Explorer 5.5 SP2.

5.6 In Internet Explorer 5.0, 5.5 or 6.0, I get an error (like "Page not found") when trying to modify a row in a table with many columns, or with a text column

Votre table n'a pas de clé primaire ni de clé unique, aussi nous devons utiliser une URL longue pour identifier cette ligne. Il y a une limite de longueur dans ces navigateurs, et cela ne se produit pas avec Netscape, par exemple. La solution de rechange est de créer une clé primaire ou une clé unique, ou d'utiliser un autre navigateur.

5.7 Je rafraîchis (actualise) mon navigateur, et je reviens à la page de bienvenue.

Certains navigateurs gèrent le clic-droit dans le cadre que vous voulez rafraîchir, faites cela dans le cadre approprié.

5.8 Avec Mozilla 0.9.7 j'ai des problèmes en envoyant une requête modifiée dans la boîte de requêtes.

Cela ressemble à un bogue de Mozilla : la version 0.9.6 était OK. Nous garderons ce bogue à l'esprit pour les futures versions de Mozilla.

5.9 Avec Mozilla 0.9.? à 1.0 et Netscape 7.0-PR1, je ne peux pas taper d'espace dans le zone d'édition de requête SQL : la page défile vers le bas.

Ceci est un bogue Mozilla (voir bogue #26882 sur BugZilla).

5.10 Avec Netscape 4.75, j'obtiens des lignes vides entre chaque ligne de données dans un fichier exporté au format CSV.

C'est un bogue connu de Netscape 4.75 : il ajoute des lignes en exportant des données en mode flux d'octets (octet-stream). Comme nous ne pouvons pas détecter la version spécifique de Netscape incriminée, nous ne pouvons pas contourner ce bogue.

5.11 Les caractères ASCII-étendu comme le tréma (umlaut allemand) sont mal affichés.

Veuillez vous assurer que vous avez paramétré le jeu de caractères de votre navigateur sur l'un des fichiers de langue que vous avez choisi dans la page de démarrage de phpMyAdmin. Vous pouvez également essayer le mode auto detection, mode qui est géré par les versions récentes de la plupart des navigateurs.

5.12 Mac OS X : le navigateur Safari change les caractères spéciaux en « ? ».

Ce problème a été rapporté par un utilisateur de OS X, qui ajoute que Chimera, Netscape et Mozilla n'ont pas ce problème.

5.13 Avec Internet Explorer 5.5 ou 6, et l'authentification HTTP, je ne peux pas administrer deux serveurs : je me connecte au premier, puis au second, mais si je reviens au premier, je dois m'identifier à chaque fois.

C'est un bogue de Internet Explorer, les autres navigateurs ne se comportent pas de cette manière.

5.14 En utilisant Opera6, je peux obtenir l'authentification, mais rien ne se passe après, seulement une page blanche.

Veuillez mettre à jour vers Opera7 au moins.

5.15 J'ai des problèmes d'affichage avec Safari.

Veuillez mettre à jour au moins à la version 1.2.3.

5.16 Avec Internet Explorer, j'obtiens des erreurs Javascript « Accès refusé ». Ou je n'arrive pas à faire fonctionner phpMyAdmin sous Windows.

Vérifiez les points suivants :

5.17 Avec Firefox, je ne peux pas supprimer des lignes de données ou une base de données.

Plusieurs utilisateurs ont confirmé que l'extension « Tabbrowser » qu'ils avaient installé sur leur Firefox est la cause de ce problème.

5.18 Avec Konqueror 4.2.x, une clause LIMIT invalide est générée quand je parcoure une table.

Ceci survient seulement quand les deux conditions suivantes sont rencontrées : en utilisant le mode d'authentification http et le paramètre register_globals défini à On sur le serveur. Il semble que ce soit un problème spécifique à ce navigateur ; en attendant, utilisez le mode d'authentification par cookie.

Utiliser phpMyAdmin

6.1 Je ne peux pas insérer de lignes dans une table / je ne peux pas créer une table - MySQL renvoie une erreur SQL.

Examine the SQL error with care. Often the problem is caused by specifying a wrong column-type.
Les erreurs usuelles sont :

Regardez également le chapitre syntaxe dans le manuel MySQL pour confirmer que votre syntaxe est correcte.

6.2 When I create a table, I set an index for two columns and phpMyAdmin generates only one index with those two columns.

This is the way to create a multi-columns index. If you want two indexes, create the first one when creating the table, save, then display the table properties and click the Index link to create the other index.

6.3 Comment puis-je insérer une valeur nulle dans ma table ?

Since version 2.2.3, you have a checkbox for each column that can be null. Before 2.2.3, you had to enter "null", without the quotes, as the column's value. Since version 2.5.5, you have to use the checkbox to get a real NULL value, so if you enter "NULL" this means you want a literal NULL in the column, and not a NULL value (this works in PHP4).

6.4 Comment puis-je sauvegarder ma base de données ou ma table ?

Cliquer sur le nom d'une base de données ou d'une table dans le cadre de gauche, les propriétés seront affichées. Ensuite, dans le menu, cliquer sur « Exporter », vous pouvez exporter la structure, les données ou les deux. Cela générera des requêtes SQL qui pourront être utilisées pour recréer votre base de données ou votre table.

Vous aurez besoin de choisir « Transmettre », de sorte que phpMyAdmin puisse transmettre le fichier d'exportation résultant à votre station. En fonction de votre configuration PHP, vous verrez les options de compression de votre fichier d'exportation. Voir également la variable de configuration $cfg['ExecTimeLimit'].

Pour une aide supplémentaire sur ce sujet, chercher le mot « export » dans ce document.

6.5 Comment puis-je restaurer (transmettre) ma base de données ou ma table en utilisant un fichier d'exportation ? Comment puis-je exécuter un fichier « .sql »?

Cliquer sur le nom d'une base de données dans le cadre de gauche, les propriétés seront affichées. Sélectionnez « Importer » dans la liste des onglets dans le cadre de droite (ou « SQL » si votre version de phpMyAdmin est antérieure à la version 2.7.0). Dans la section « Emplacement du fichier texte », saisissez votre nom de fichier d'exportation, ou cliquez sur le bouton Afficher. Puis cliquez sur Exécuter.

À partir de la version 2.7.0, le moteur d'importation a été ré-écrit; si possible, il est suggéré de mettre à jour votre version pour tirer parti des nouvelles fonctionnalités.

Pour de l'aide supplémentaire sur ce sujet, cherchez le mot « transm » dans ce document.

6.6 Comment puis-je utiliser la table relation dans Query-by-example ?

Voici un exemple avec les tables personnes, villes et pays, toutes situées dans la base de données mabdd. Si vous n'avez pas de table pma_relation, créez-la comme cela est décrit dans la section Configuration. Ensuite, créez les tables d'exemple :

CREATE TABLE REL_pays (
code_pays char(1) NOT NULL default '',
description varchar(10) NOT NULL default '',
PRIMARY KEY (code_pays)
) TYPE=MyISAM;

INSERT INTO REL_pays VALUES ('C','Canada');

CREATE TABLE REL_personnes (
id tinyint(4) NOT NULL auto_increment,
nom_personne varchar(32) NOT NULL default '',
code_ville varchar(5) default '0',
code_pays char(1) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;

INSERT INTO REL_personnes VALUES (11,'Marc', 'S', '');
INSERT INTO REL_personnes VALUES (15,'Paul', 'S', 'C');

CREATE TABLE REL_villes (
code_ville varchar(5) NOT NULL default '0',
description varchar(30) NOT NULL default '',
PRIMARY KEY (code_ville)
) TYPE=MyISAM;

INSERT INTO REL_villes VALUES ('S','Sherbrooke');
INSERT INTO REL_villes VALUES ('M','Montréal');

Pour configurer les liens appropriés et afficher l'information :

Puis tester comme suit :

6.7 How can I use the "display column" feature?

À partir de l'exemple précédent, créez la table pma_table_info comme expliqué dans la section Configuration, puis parcourez votre table personnes, et déplacez votre souris au-dessus du code ville ou du code pays.

See also FAQ 6.21 for an additional feature that "display column" enables: drop-down list of possible values.

6.8 Comment puis-je produire un schéma PDF de ma base de données ?

D'abord vous devez renseigner les variables de configuration « relation », « table_coords » et « pdf_pages ».

Ensuite, réfléchissez à la mise en page de votre schéma : quelles tables iront sur quelles pages.

6.9 phpMyAdmin change le type de l'une de mes colonnes !

Non, c'est MySQL qui fait des changements silencieux de type de colonne.

6.10 En créant un privilège, qu'arrive-t-il aux traits de soulignement (underscore) dans le nom de la base de données ?

Si vous ne mettez pas de barre oblique inverse (backslash) avant le trait de soulignement, c'est un méta-caractère pour les autorisations, et le trait de soulignement signifie « tout caractère ». Aussi, si le nom de base de données est « john_db », l'utilisateur aura des droits sur john1db, john2db…

Si vous mettez une barre oblique inverse devant le trait de soulignement, cela signifie que le nom de la base de données aura un vrai trait de soulignement.

6.11 Quel est ce curieux symbole ø dans les pages de statistiques ?

Il signifie « moyenne ».

6.12 Je veux comprendre certaines options de Exporter.

Structure :

Données :

6.13 J'aimerais créer une base de données avec un point dans son nom.

C'est une mauvaise idée, car dans MySQL la syntaxe « database.table » est la manière normale de référencer une base de données et un nom de table. Pire, MySQL vous laissera normalement créer cette base de données avec un point, mais alors vous ne pourrez pas travailler avec, ni la supprimer.

6.14 Comment configurer le valideur de code SQL ?

To use SQL Validator, you need PHP with XML, PCRE and PEAR support. In addition you need a SOAP support, either as a PHP extension or as a PEAR SOAP module.

To install PEAR SOAP module, run "pear install Net_Socket Net_URL HTTP_Request Mail_Mime Net_DIME SOAP" to get the necessary PEAR modules for usage.

Si vous utilisez le Validateur, soyez conscient que toute requête SQL que vous exécutez sera stockée de manière anonyme (noms de base de données/table/colonne, chaînes, nombres sont remplacés avec des valeurs génériques). Le Mimer SQL Validator, est sous copyright © 2001 Upright Database Technology. Nous l'utilisons en tant que service SOAP gratuit.

6.15 I want to add a BLOB column and put an index on it, but MySQL says "BLOB column '...' used in key specification without a key length".

The right way to do this, is to create the column without any indexes, then display the table structure and use the "Create an index" dialog. On this page, you will be able to choose your BLOB column, and set a size to the index, which is the condition to create an index on a BLOB column.

6.16 Comment puis-je me déplacer simplement dans une page remplie de champs modifiables ?

Vous pouvez utiliser Ctrl + flèches de direction (Option + flèches de direction dans Safari) sur la plupart des pages remplies de champs modifiables (structure de table, ligne modifiable, etc.) (ceci doit être activé dans la configuration - voir $cfg['CtrlArrowsMoving'])). Vous pouvez également consulter la directive $cfg['DefaultPropDisplay'] ('vertical') et voir si cela vous aide pour les modifications.

6.17 Transformations : je ne peux pas entrer mon propre type mime ! À quoi peut bien servir cette f…. fonctionnalité alors ?

Slow down :). Defining mimetypes is of no use, if you can't put transformations on them. Otherwise you could just put a comment on the column. Because entering your own mimetype will cause serious syntax checking issues and validation, this introduces a high-risk false-user-input situation. Instead you have to initialize mimetypes using functions or empty mimetype definitions.
De plus, vous avez une vue d'ensemble de tous les types mime disponibles. Qui connaît tous ces types mime par coeur de sorte qu'il puisse les entrer à volonté ?

6.18 Signets : Où puis-je stocker les signets ? Pourquoi aucun signet n'est visible en-dessous de la boîte de requête ?

Toute requête que vous exécutez peut être stockée en tant que signet sur la page où sont affichés les résultats. Vous trouverez un bouton intitulé 'Conserver cette requête dans les signets' juste à la fin de la page.
Dès que vous avez stocké un signet, il est relié à la base de données dans laquelle vous avez exécuté la requête. Vous pouvez maintenant avoir accès à une liste déroulante de signets sur chacune des pages sur lesquelles la boîte de requête apparaît sur cette base de données.

Depuis phpMyAdmin 2.5.0, vous pouvez également stocker des variables pour les signets. Utilisez juste la chaîne /*['VARIABLE']*/ n'importe où dans votre requête. Tout ce qui est mis dans la boîte de saisie valeur sur la page de la boîte de requête remplacera la chaîne « /*['VARIABLE']*/ » dans votre requête stockée. Notez que vous DEVEZ créer une requête valide, sinon elle ne sera même pas stockée dans votre base de données.
Rappelez-vous également que tout ce qui se trouve à l'intérieur de la chaîne /*['VARIABLE']*/ pour votre requête restera en l'état, mais sera débarassé des caractères /**/ . Donc vous pouvez utiliser :

/*, ['VARIABLE'] AS myname */

qui sera reproduit en

, VARIABLE as myname

dans votre requête, où VARIABLE est la chaîne que vous avez saisie dans la boîte de saisie. Si une chaîne vide est fournie, aucun remplacement ne sera effectué.

Un exemple plus complexe. Disons que vous avez stocké cette requête :

SELECT Name, Address FROM addresses WHERE 1 /* AND Name LIKE '%['VARIABLE']%' */

Imaginons que vous saisissiez « phpMyAdmin » comme variable pour votre requête stockée, la requête complète sera :

SELECT Name, Address FROM addresses WHERE 1 AND Name LIKE '%phpMyAdmin%'

Vous pouvez utiliser de multiples occurrences de /*['VARIABLE']*/ dans une seule requête.
REMARQUEZ L'ABSENCE D'ESPACES à l'intérieur de la construction « /**/ ». Tout espace inséré sera plus tard également inséré en tant qu'espace dans votre requête et peut conduire à des résultats inattendus, particulièrement en utilisant l'expansion de variable dans une expression « LIKE '' ».
Votre requête initiale que vous voulez stocker comme signet doit produire au moins une ligne de résultat pour pouvoir être stockée. Vous aurez peut-être besoin de tâtonner pour bien positionner les commentaires « /**/ ».

6.19 Comment puis-je créer simplement un document LATEX pour y inclure une table exportée ?

Vous pouvez inclure simplement une table dans vos documents LATEX , un exemple de document minimaliste devrait ressembler à celui qui suit (en supposant que vous avez une table exportée dans le fichier table.tex) :

\documentclass{article} % ou toute classe que vous désirez
\usepackage{longtable}  % pour afficher la table
\begin{document}        % début du document
\include{table}         % inclure la table exportée
\end{document}          % fin du document

6.20 I see a lot of databases which are not mine, and cannot access them.

You have one of these global privileges: CREATE TEMPORARY TABLES, SHOW DATABASES, LOCK TABLES. Those privileges also enable users to see all the database names. See this bug report.

Donc si vos utilisateurs n'ont pas besoin de ces privilèges, vous pouvez les supprimer et la liste de leurs bases de données sera raccourcie.

6.21 In edit/insert mode, how can I see a list of possible values for a column, based on some foreign table?

You have to setup appropriate links between the tables, and also setup the "display column" in the foreign table. See FAQ 6.6 for an example. Then, if there are 100 values or less in the foreign table, a drop-down list of values will be available. You will see two lists of values, the first list containing the key and the display column, the second list containing the display column and the key. The reason for this is to be able to type the first letter of either the key or the display column.

Pour 100 valeurs et plus, une fenêtre distincte apparaîtra, pour naviguer dans les valeurs des clés étrangères et en choisir une. Pour changer la limite de 100, consulter $cfg['ForeignKeyMaxLimit'].

6.22 Signets : Puis-je exécuter automatiquement en entrant en mode Afficher pour une table ?

Oui. Si un signet a le même label qu'un nom de table, il sera exécuté.

6.23 Export : J'ai entendu dire que phpMyAdmin peut exporter des fichiers au format Microsoft Excel, comment puis-je activer cette option ?

You can use CSV for Microsoft Excel, which works out of the box, but phpMyAdmin supports direct export to Microsoft Excel version 97 and newer. For this to work, you need to set $cfg['TempDir'] to a place where the web server user can write (for example './tmp').

Pour créer un répertoire temporaire sur un système basé sur UNIX, vous pouvez faire ceci :

    cd phpMyAdmin
    mkdir tmp
    chmod o+rwx tmp

6.24 Maintenant que phpMyAdmin gère nativement les commentaires de colonnes MySQL 4.1.x, qu'arrive-t-il à mes commentaires de colonnes stockés dans pmadb ?

La migration automatique des commentaires de colonne de style pmadb d'une table vers le format natif est effectuée chaque fois que vous entrez dans la page Structure pour cette table.

6.25 Comment le streaming de BLOB fonctionne dans phpMyAdmin ?

For general information about BLOB streaming on MySQL, visit blobstreaming.org. You need the following components:

Here are details about configuration and operation:

  1. In config.inc.php your host should be defined with a FQDN (fully qualified domain name) instead of "localhost".
  2. Ensure that your target table is under the PBXT storage engine and has a LONGBLOB column (which must be nullable if you want to remove the BLOB reference from it).
  3. When you insert or update a row in this table, put a checkmark on the "Upload to BLOB repository" optional choice; otherwise, the upload will be done directly in your LONGBLOB column instead of the repository.
  4. Finally when you browse your table, you'll see in your column a link to stream your data, for example "View image". A header containing the correct MIME-type will be sent to your browser; this MIME-type was stored at upload time.

6.26 How can I select a range of rows?

Click the first row of the range, hold the shift key and click the last row of the range. This works everywhere you see rows, for example in Browse mode or on the Structure page.

6.27 What format strings can I use?

In all places where phpMyAdmin accepts format strings, you can use @VARIABLE@ expansion and strftime format strings. The expanded variables depend on a context (for example, if you haven't chosen a table, you can not get the table name), but the following variables can be used:

@HTTP_HOST@
Hôte HTTP exécutant phpMyAdmin
@SERVER@
Nom du serveur MySQL
@VERBOSE@
Nom complet du serveur MySQL tel qu'indiqué dans la configuration serveur
@VSERVER@
Nom complet du serveur MySQL si défini, sinon normal
@DATABASE@
Base de données actuellement ouverte
@TABLE@
Table actuellement ouverte
@FIELDS@
Fields of currently opened table
@PHPMYADMIN@
Version de phpMyAdmin

6.28 How can I easily edit relational schema for export?

By clicking on the button 'toggle scratchboard' on the page where you edit x/y coordinates of those elements you can activate a scratchboard where all your elements are placed. By clicking on an element, you can move them around in the pre-defined area and the x/y coordinates will get updated dynamically. Likewise, when entering a new position directly into the input field, the new position in the scratchboard changes after your cursor leaves the input field.

Vous devez cliquer sur le bouton 'OK' en-dessous des tables pour sauvegarder les nouvelles positions. Si vous voulez placer un nouvel élément, ajoutez-le d'abord à la table des éléments et alors vous pourrez déplacer ce nouvel élément.

En changeant la taille du papier et l'orientation, vous changez également la taille de l'éditeur visuel. Vous pouvez le faire en changeant seulement le champ déroulant au-dessous, et l'éditeur visuel se réajustera automatiquement, sans interférer avec les positions des éléments en cours.

Si un élément sortait du champ, vous pouvez soit agrandir la taille du papier, soit cliquer sur le bouton 'Réinitialiser les valeurs' pour placer tous les éléments les uns en-dessous des autres.

6.28 Why can't I get a chart from my query result table?

Not every table can be put to the chart. Only tables with one, two or three columns can be visualised as a chart. Moreover the table must be in a special format for chart script to understand it. Currently supported formats can be found in the wiki.

Projet phpMyAdmin

7.1 J'ai trouvé un bogue. Comment dois-je en informer les développeurs ?

Notre Bug Tracker est situé sur http://sourceforge.net/projects/phpmyadmin/ sous la section Bugs.

Mais s'il vous plaît, veuillez d'abord en discuter avec d'autres utilisateurs :
https://sourceforge.net/projects/phpmyadmin/forums.

7.2 Je veux traduire les messages dans une nouvelle langue ou mettre à jour une langue existante, où dois-je commencer ?

Always use latest Git version of the po file to translate. You can optionally translate online at our translation server where you can also get the latest po files and merge them with your translations. For creating a new translation simply use po/phpmyadmin.pot and generate po/LANG_CODE.po for your language (you can use msginit -i po/phpmyadmin.pot -l LANG_CODE --no-translator -o po/LANG_CODE.po to do this) or ask on the mailing list to add the translation to the web interface. More details are available on our wiki.

Please note that we try not to use HTML entities like &eacute; in the translations, since we define the right character set in the file. With HTML entities, the text on JavaScript messages would not display correctly. However there are some entities that need to be there: quotes, non-breakable spaces, ampersands, less than, greater than.

You can then put your translations, as a zip file to avoid losing special characters, on the sourceforge.net translation tracker.

It would be a good idea to subscribe to the phpmyadmin-translators mailing list, because this is where we ask for translations of new messages.

Documentation is being translated using po4a and gettext (see documentation for existing translations). To start, checkout localized_docs/po from Git, or just go to the translation server and translate it online. If your language is missing, just contact Michal Čihař; he will add it. If you prefer to directly translate the po files, please put updated ones into our translation tracker.

7.3 Je voudrais aider au développement de phpMyAdmin. Comment dois-je procéder ?

La méthode suivante est préférable pour les nouveaux développeurs :

  1. fetch the current git repository over anonymous git:
    git clone git://phpmyadmin.git.sourceforge.net/gitroot/phpmyadmin/phpmyadmin
  2. ajouter votre travail
  3. generate patch with your changes: git diff > xxx.diff
  4. submit your patch via the patch tracker of the phpMyAdmin project.

More details on git are available on our wiki.

Write access to the repository is granted only to experienced developers who have already contributed something useful to phpMyAdmin.
Veuillez également consulter la section Développeurs.

Sécurité

8.1 Où puis-je obtenir des informations sur les alertes de sécurité pour phpMyAdmin ?

Veuillez consulter http://www.phpmyadmin.net/home_page/security.php.

8.2 Comment protéger phpMyAdmin contre les attaques par force brute ?

If you use Apache web server, phpMyAdmin exports information about authentication to the Apache environment and it can be used in Apache logs. Currently there are two variables available:

userID
Le nom de l'utilsateur actif en cours(il n'a pas besoin d'être connecté).
userStatus
L'état de l'utilisateur actif en cours, soit ok (l'utilisateur est connecté), soit mysql-denied (MySQL a refusé la connexion de l'utilisateur), soit allow-denied (l'utilisateur a été rejeté par les règles allow/deny), soit root-denied (root est refusé dans la configuration), soit empty-denied (les mots de passes vides sont interdits).

La directive LogFormat pour Apache peut ressembler à ce qui suit :

LogFormat "%h %l %u %t \"%r\" %>s %b \
\"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n"   pma_combined

Vous pouvez alors utiliser n'importe quel outil d'analyse de logs pour détecter des tentatives d'intrusion.

Synchronisation

9.1 Comment synchroniser deux bases de données/tables dans phpMyAdmin ?

You can now synchronize databases/tables in phpMyAdmin using the Synchronize feature. It allows you to connect to local as well as remote servers. This requires you to enter server host name, username, password, port and the name of the database. Therefore you can now synchronize your databases placed on the same server or some remote server.

This feature is helpful for developers who need to replicate their database’s structure as well as data. Moreover, this feature not only helps replication but also facilitates the user to keep his/her database in sync with another database. Other than the full database, certain tables of the databases can also be synchronized.

You need to fill in the host name of the server, the username and password of an user account already there in MySQL. Port is by default populated with 3306 (MySQL default port). Then the name of the database should be mentioned at the end. All the information other than the port needs to be filled explicitly for the source as well as target servers.

After successfully passing through the authentication phase, the source and target database table names will be displayed. It will be a tabular representation.

On the left, are listed the source database table names. Some of the names have a + plus sign preceding them. This shows that these tables are only present in source database and they need to be added to the target database in order to synchronize the target database. The tables whose names are not preceded by a + sign are already present in the target database.

On the right, are listed the target database table names. There are few table names that have (not present) appended after their names. This means that these tables are to be created in target database in order to synchronize target database with source database. Some table names have a - minus sign preceding them. This shows that these tables are only present in target database and they will remain unchanged in the target database. The column in the middle shows the difference between the source and target corresponding tables.

The difference is depicted by the red and green buttons with S and D letters, indicating that either Structure or Data are not up to date. By clicking on them, they will turn grey, what means that they will be synchronized.

Information pour les développeurs

phpMyAdmin est un logiciel Open Source, aussi vous êtes invités à y contribuer. Beaucoup de fonctionnalités ont été écrites par d'autres personnes et vous aussi vous pouvez aider à faire de phpMyAdmin un outil utile.

Si vous projetez de contribuer aux sources, veuillez lire les informations suivantes :

Copyright (C) 1998-2000 Tobias Ratschiller <tobias_at_ratschiller.com>
Copyright (C) 2001-2010 Marc Delisle <marc_at_infomarc.info>
                        Olivier Müller <om_at_omnis.ch>
                        Robin Johnson <robbat2_at_users.sourceforge.net>
                        Alexander M. Turek <me_at_derrabus.de>
                        Michal Čihař <michal_at_cihar.com>
                        Garvin Hicking <me_at_supergarv.de>
                        Michael Keck <mkkeck_at_users.sourceforge.net>
                        Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
                        [check credits for more details]

Ce programme est un logiciel libre; vous pouvez le redistribuer et/ou le modifier en respectant les termes de la GNU General Public License version 2 (Licence publique générale GNU) telle qu'elle est publiée par la Free Software Foundation (Fondation pour le logiciel libre).

Ce programme est distribué en espérant être utile, mais SANS AUCUNE GARANTIE; sans même la garantie implicite COMMERCIALE ou D'ADÉQUATION POUR UNE UTILISATION PARTICULIÈRE. Voir la GNU General Public License pour plus de renseignements.

Vous devriez avoir reçu une copie de la GNU General Public License avec ce programme ; si ce n'est pas le cas, écrivez à Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

Crédits

Crédits, par ordre chonologique

et aussi les personnes qui ont contribué à des changements, améliorations, corrections de bogues ou support d'une nouvelles langues, mineurs, depuis la version 2.1.0 :

Bora Alioglu, Ricardo ?, Sven-Erik Andersen, Alessandro Astarita, Péter Bakondy, Borges Botelho, Olivier Bussier, Neil Darlow, Mats Engstrom, Ian Davidson, Laurent Dhima, Kristof Hamann, Thomas Kläger, Lubos Klokner, Martin Marconcini, Girish Nair, David Nordenberg, Andreas Pauley, Bernard M. Piller, Laurent Haas, "Sakamoto", Yuval Sarna, www.securereality.com.au, Alexis Soulard, Alvar Soome, Siu Sun, Peter Svec, Michael Tacelosky, Rachim Tamsjadi, Kositer Uros, Luís V., Martijn W. van der Lee, Algis Vainauskas, Daniel Villanueva, Vinay, Ignacio Vazquez-Abrams, Chee Wai, Jakub Wilk, Thomas Michael Winningham, Vilius Zigmantas, "Manuzhai".

Crédits originaux de la version 2.1.0

Ce travail est basé sur MySQL-Webadmin de Peter Kuppelwieser. C'était son idée de créerune interface Web pour utiliser MySQL en utilisant PHP3. Bien que je n'ai pas utilisé son code source, je lui ai emprunté des concepts. phpMyAdmin a été créé car Peter m'avait dit qu'il aller arrêter le développement de son (super) outil.

Remerciements à

Les personnes suivantes ont contribué à des changements, améliorations, corrections de bogues ou support d'une nouvelle langue, mineurs :

Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann, Alexander Leidinger, Kiko Albiol, Daniel C. Chao, Pavel Piankov, Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns, G. Wieggers.

Et merci à tous les autres qui m'ont envoyé des suggestions par courriel, des rapports de bogue ou juste des retours d'utilisation.

Glossaire

de Wikipedia, l'encyclopédie libre