Configuration

All configurable data is placed in config.inc.php in phpMyAdmin’s toplevel directory. If this file does not exist, please refer to the Installation section to create one. This file only needs to contain the parameters you want to change from their corresponding default value.

Voir aussi

Exemple pour des exemples de configurations

Si une directive manque dans votre fichier, vous pouvez ajouter une nouvelle ligne avec ce fichier. Ce fichier sert à remplacer les valeurs par défaut ; si vous souhaitez utiliser les valeurs par défaut, il n’est pas nécessaire d’ajouter de ligne ici.

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

Note

Certaines distributions, comme par exemple Debian et Ubuntu, placent le fichier config.inc.php dans /etc/phpmyadmin et non pas avec le reste des sources de phpMyAdmin.

Configuration de base

$cfg['PmaAbsoluteUri']
Type:chaîne
Valeur par défaut:
 ''

Modifié dans la version 4.6.5: Ce paramètre n’était plus disponible dans phpMyAdmin 4.6.0 - 4.6.4.

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 https://www.exemple.net/chemin_vers_votre_repertoire_phpMyAdmin/. Veuillez noter également que l”URL de la plupart des serveurs Web est sensible à la casse (même sous Windows). N’oubliez pas la barre oblique (« / ») finale 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 » ou de configuration de reverse-proxy complexes pourraient avoir besoin de modifier ceci.

Un bon test est de parcourir 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 votre chemin d’accès, veuillez poster un rapport de bogue sur notre outils de suivi de bogues pour que nous améliorions le code.

$cfg['PmaNoRelation_DisableWarning']
Type:booléen
Valeur par défaut:
 false

À 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 avez essayé 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['AuthLog']
Type:chaîne
Valeur par défaut:
 'auto'

Nouveau dans la version 4.8.0: Ceci est géré depuis phpMyAdmin 4.8.0.

Configuration de l’emplacement des journaux d’authentification. Les tentatives d’authentification ayant échoué (ou toutes les tentatives en fonction de $cfg['AuthLogSuccess']) seront enregistrées selon cette directive :

auto
Laisser phpMyAdmin choisir automatiquement entre syslog et php.
syslog
La journalisation utilisant syslog avec la fonctionnalité AUTH se trouve dans /var/log/auth.log sur la plupart des systèmes.
php
Journalisation dans le fichier d’erreur de PHP.
sapi
Journalisation dans le fichier journal de PHP SAPI.
/chemin/du/fichier
Toute autre valeur est considérée comme un nom de fichier et les entrées de journal sont écrites ici.

Note

Pour la journalisation vers un fichier, s’assurer que ses permissions soient correctement définies pour un utilisateur du serveur Web ; la configuration devrait suivre précisément les instructions décrites dans $cfg['TempDir'] :

$cfg['AuthLogSuccess']
Type:booléen
Valeur par défaut:
 false

Nouveau dans la version 4.8.0: Ceci est géré depuis phpMyAdmin 4.8.0.

Pour indiquer de consigner les tentatives d’authentification réussies dans $cfg['AuthLog'].

$cfg['SuhosinDisableWarning']
Type:booléen
Valeur par défaut:
 false

Un avertissement est affiché sur la page principale si Suhosin est détecté.

Vous pouvez passer cette variable à true pour empêcher ce message d’apparaître.

$cfg['LoginCookieValidityDisableWarning']
Type:booléen
Valeur par défaut:
 false

Un avertissement est affiché sur la page principale si le paramètre PHP session.gc_maxlifetime est inférieur à la durée de validité du cookie configuré dans phpMyAdmin.

Vous pouvez passer cette variable à true pour empêcher ce message d’apparaître.

$cfg['ServerLibraryDifference_DisableWarning']
Type:booléen
Valeur par défaut:
 false

Obsolète depuis la version 4.7.0: Ce réglage a été retiré car l’avertissement a aussi été retiré.

Un avertissement est affiché sur la page principale s’il y a une différence entre la bibliothèque MySQL et la version du serveur.

Vous pouvez passer cette variable à true pour empêcher ce message d’apparaître.

$cfg['ReservedWordDisableWarning']
Type:booléen
Valeur par défaut:
 false

Cet avertissement est affiché sur la page Structure d’une table si un ou plusieurs noms de colonnes correspondent à des mots réservés de MySQL.

Si vous voulez désactiver cet avertissement, vous pouvez le définir à true et celui-ci ne sera plus affiché.

$cfg['TranslationWarningThreshold']
Type:entier
Valeur par défaut:
 80

Affiche un avertissement sur les traductions incomplètes à partir d’un certain seuil.

$cfg['SendErrorReports']
Type:chaîne
Valeur par défaut:
 'ask'

Les valeurs valides sont :

  • ask
  • always
  • never

Définir le comportement par défaut pour les rapports d’erreur JavaScript.

Quand une erreur est détectée dans l’exécution de JavaScript. Un rapport d’erreur peut être envoyé à l’équipe de phpMyAdmin si l’utilisateur y consent.

Le paramètre par défaut 'ask' demandera chaque fois à l’utilisateur s’il y a un nouveau rapport d’erreur. Cependant, vous pouvez définir ce paramètre à 'always' pour envoyer un rapport d’erreur sans demander de confirmation ou à 'never' pour ne jamais envoyer de rapports d’erreur.

Cette directive est disponible à la fois dans le fichier de configuration et dans les préférences utilisateur. Si la personne responsable d’une installation mutli-utilisateur préfère désactiver cette fonctionnalités pour tous les utilisateurs, la valeur 'never' doit être définie etla directive $cfg['UserprefsDisallow'] doit contenir 'SendErrorReports' dans un de ses tableaux de valeurs.

$cfg['ConsoleEnterExecutes']
Type:booléen
Valeur par défaut:
 false

Ce paramétrage réglé sur true permet à l’utilisateur d’exécuter des requêtes en appuyant sur Entrée au lieu de Ctrl+Entrée. Une nouvelle ligne peut être insérée en appuyant sur Maj+Entrée.

Le comportement de la console peut être temporairement modifié en utilisant l’interface des paramètres de la console.

$cfg['AllowThirdPartyFraming']
Type:booléen|chaîne
Valeur par défaut:
 false

Définir ceci à true permet à phpMyAdmin d’être inclus à l’intérieur d’un cadre, et cela représente un potentiel trou de sécurité pour les attaques de script inter-cadre (cross-frame) ou par clickjacking. Définir ceci à “sameorigin” empêche phpMyAdmin d’être inclus depuis une autre document dans un cadre, sauf si ce document appartient au même domaine.

Paramètres de connexion au serveur

$cfg['Servers']
Type:array
Valeur par défaut:
 un tableau de serveur avec les paramètres listés ci-dessous

Since version 1.4.2, phpMyAdmin supports the administration of multiple MySQL servers. Therefore, a $cfg['Servers']-array has been added which contains the login information for the different servers. The first $cfg['Servers'][$i]['host'] contains the hostname of the first server, the second $cfg['Servers'][$i]['host'] the hostname of the second server, etc. You can put as many sections for server definition as you need in config.inc.php, copy that block or needed parts (you don’t have to define all settings, just those you need to change).

Note

Le tableau $cfg['Servers'] commence par $cfg[“Servers”][1]. N’utilisez pas $cfg[“Servers”][0]. Si vous voulez plus d’un serveur, copiez simplement la section suivante (incluant l’incrément $i) plusieurs fois. Il n’est pas utilise de renseigner tous les paramètres, ne renseignez que ceux que vous avez besoin de changer.

$cfg['Servers'][$i]['host']
Type:chaîne
Valeur par défaut:
 'localhost'

Le nom d’hôte ou l’adresse IP du $i-ème serveur MySQL. Par ex. localhost.

Les valeurs autorisées sont :

  • nom d’hôte, par exemple, 'localhost' ou encore 'mabdd.exemple.org'
  • adresse IP, par exemple, '127.0.0.1' ou encore '192.168.10.1'
  • adresse IPv6, par exemple, 2001:cdba:0000:0000:0000:0000:3257:9652
  • point - '.', c’est-à-dire, utiliser les canaux nommés sur les systèmes Windows
  • vide - '', désactive ce serveur

Note

Le nom d’hôte localhost est spécialement pris en charge par MySQL qui utilise un protocole de connexion basé sur socket. Pour exploiter un adressage TCP/IP, utiliser une adresse IP ou un nom d’hôte comme 127.0.0.1 ou db.example.com. Il est possible de configurer le chemin vers le socket avec $cfg['Servers'][$i]['socket'].

$cfg['Servers'][$i]['port']
Type:chaîne
Valeur par défaut:
 ''

Le numéro de port du $i-ème serveur MySQL. Ce numéro est 3306 par défaut (laisser vide pour utiliser la valeur par défaut).

Note

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']
Type:chaîne
Valeur par défaut:
 ''

Le chemin vers le socket à utiliser. Laisser à vide pour utiliser le chemin 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é.

Note

Prend effet seulement si $cfg['Servers'][$i]['host'] est défini à localhost.

$cfg['Servers'][$i]['ssl']
Type:booléen
Valeur par défaut:
 false

Pour activer ou pas une connexion SSL entre phpMyAdmin et le serveur MySQL pour sécuriser la connexion.

En utilisant l’extension 'mysql', aucune des options de configuration 'ssl…' restantes ne s’applique.

Nous vous recommandons vivement d’utiliser l’extension 'mysqli' pour l’utilisation de cette option.

$cfg['Servers'][$i]['ssl_key']
Type:chaîne
Valeur par défaut:
 NULL

Chemin d’accès vers le fichier de certificat (key) client lors de l’utilisation de SSL pour la connexion au serveur MySQL. Ceci est utilisé pour authentifier le client au serveur.

Par exemple :

$cfg['Servers'][$i]['ssl_key'] = '/etc/mysql/server-key.pem';
$cfg['Servers'][$i]['ssl_cert']
Type:chaîne
Valeur par défaut:
 NULL

Chemin d’accès vers le fichier de certificat client lors de l’utilisation de SSL pour la connexion au serveur MySQL. Ceci est utilisé pour authentifier le client au serveur.

$cfg['Servers'][$i]['ssl_ca']
Type:chaîne
Valeur par défaut:
 NULL

Chemin d’accès vers le fichier de certificat (CA) lors de l’utilisation de SSL pour la connexion au serveur MySQL.

$cfg['Servers'][$i]['ssl_ca_path']
Type:chaîne
Valeur par défaut:
 NULL

Répertoire contenant les certificats SSL CA (autorité de certification) approuvés au format PEM.

$cfg['Servers'][$i]['ssl_ciphers']
Type:chaîne
Valeur par défaut:
 NULL

Liste des chiffrements SSL disponibles pour les connexions au serveur MySQL.

$cfg['Servers'][$i]['ssl_verify']
Type:booléen
Valeur par défaut:
 true

Nouveau dans la version 4.6.0: Ceci est géré depuis phpMyAdmin 4.6.0.

Si votre installation PHP utilise le pilote natif de MySQL (mysqlnd), que votre serveur MySQL est en version 5.6 ou supérieure et que votre certificat SSL est auto-signé, il y a des chances que votre connexion SSL échoue en raison de la validation. Définir ceci à false désactivera la vérification de validation.

Depuis PHP 5.6.0, il vérifie aussi si le nom du serveur correspond au CN de son certificat. Il n’existe actuellement aucun moyen de désactiver uniquement cette vérification sauf à désactiver totalement la vérification SSL.

Avertissement

Désactiver la vérification du certificat SSL Rend inutile l’utilisation de SSL. Ceci rendra la connexion vulnérable à des attaque de type « man in the middle ».

Note

Cette étiquette ne fonctionne qu’avec PHP 5.6.16 ou supérieur.

$cfg['Servers'][$i]['connect_type']
Type:chaîne
Valeur par défaut:
 'tcp'

Obsolète depuis la version 4.7.0: Ce réglage n’est plus utilisé à aprtir de la version 4.7.0, depuis que MySQL a décidé du type de connexion basé sur l’hôte. Merci de définir à la place et en conséquence $cfg['Servers'][$i]['host'].

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.

$cfg['Servers'][$i]['compress']
Type:booléen
Valeur par défaut:
 false

Pour utiliser ou non un protocole compressé pour la connexion au serveur MySQL (expérimental).

$cfg['Servers'][$i]['controlhost']
Type:chaîne
Valeur par défaut:
 ''

Permet d’utiliser un hôte alternatif pour la configuration des données de stockage.

$cfg['Servers'][$i]['controlport']
Type:chaîne
Valeur par défaut:
 ''

Permet d’utiliser un port alternatif pour accéder à l’hôte contenant la configuration du stockage.

$cfg['Servers'][$i]['controluser']
Type:chaîne
Valeur par défaut:
 ''
$cfg['Servers'][$i]['controlpass']
Type:chaîne
Valeur par défaut:
 ''

Ce compte spécial est utilisé pour accéder aux Stockage de la configuration de phpMyAdmin. Vous n’en avez pas besoin dans le cas d’un utilisateur unique, mais si phpMyAdmin est partagé, il est recommandé de donner accès aux Stockage de la configuration de phpMyAdmin seulement à cet utilisateur et de configurer phpMyAdmin pour l’utiliser. Tous les utilisateurs seront alors capables d’utiliser les fonctionnalités sans avoir d’accès direct aux Stockage de la configuration de phpMyAdmin.

Modifié dans la version 2.2.5: ceux-ci étaient appelés stduser et stdpass

$cfg['Servers'][$i]['control_*']
Type:mixte

Nouveau dans la version 4.7.0.

Vous pouvez modifier tout paramètre de connexion MySQL pour le lien de contrôle (utilisé pour accéder aux Stockage de la configuration de phpMyAdmin) en utilisant la configuration préfixée avec control_.

Ceci peut être utilisé pour modifier tout aspect du contrôle de connexion, qui utilise par défaut les mêmes paramètres que ceux de l’utilisateur.

Par exemple, vous pouvez configurer SSL pour le contrôle de connexion :

// Enable SSL
$cfg['Servers'][$i]['control_ssl'] = true;
// Client secret key
$cfg['Servers'][$i]['control_ssl_key'] = '../client-key.pem';
// Client certificate
$cfg['Servers'][$i]['control_ssl_cert'] = '../client-cert.pem';
// Server certification authority
$cfg['Servers'][$i]['control_ssl_ca'] = '../server-ca.pem';
$cfg['Servers'][$i]['auth_type']
Type:chaîne
Valeur par défaut:
 'cookie'

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.
  • La méthode d’authentification par cookie ($auth_type = 'cookie') permet de se connecter comme un utilisateur MySQL valide à l’aide des cookies.
  • La méthode d’authentification “http” permet de se connecter comme un utilisateur MySQL valide à l’aide de HTTP-Auth.
  • Le mode d’authentification “signon” ($auth_type = 'signon') permet de se connecter en utilisant des données de session PHP préparée ou en utilisant le script PHP fourni.
$cfg['Servers'][$i]['auth_http_realm']
Type:chaîne
Valeur par défaut:
 ''

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']
Type:chaîne
Valeur par défaut:
 ''

Nouveau dans la version 3.0.0.0: Ce paramètre était nommé $cfg[“Servers” ;][$i][“auth_feebee_config” ;] et a été renommé avant la sortie de la version 3.0.0.0.

Obsolète depuis la version 4.6.4: Ce paramètre a été supprimé parce que leurs serveurs ne fonctionnent plus et qu’il ne fonctionnait pas correctement.

Obsolète depuis la version 4.0.10.17: Ce paramètre a été supprimé dans une version de maintenance car leurs serveurs ne fonctionnent plus et ne fonctionnaient pas correctement.

Le nom du fichier contenant les identifiants swekey et les noms de connexion pour l’authentification matérielle. Laissez vide pour désactiver cette fonctionnalité.

$cfg['Servers'][$i]['user']
Type:chaîne
Valeur par défaut:
 'root'
$cfg['Servers'][$i]['password']
Type:chaîne
Valeur par défaut:
 ''

En utilisant $cfg['Servers'][$i]['auth_type'] défini à “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']
Type:booléen
Valeur par défaut:
 false

Obsolète depuis la version 4.7.0: Ce paramètre a été supprimé car il peut produire des résultats inattendus.

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.

Note

It is possible to allow logging in with no password with the $cfg['Servers'][$i]['AllowNoPassword'] directive.

$cfg['Servers'][$i]['only_db']
Type:chaîne ou tableau
Valeur par défaut:
 ''

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'] = ['db1', 'db2'];

Modifié dans la version 4.0.0: Les versions précédentes permettaient d’indiquer l’ordre d’affichage des noms de bases de données à l’aide de cette directive.

$cfg['Servers'][$i]['hide_db']
Type:chaîne
Valeur par défaut:
 ''

Expression régulière pour masquer certaines bases pour les utilisateurs sans privilèges. 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 », utiliser

$cfg['Servers'][$i]['hide_db'] = '^a';

et pour masquer les bases de données « db1 » et « db2 », utiliser

$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']
Type:chaîne
Valeur par défaut:
 ''

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]['extension']
Type:chaîne
Valeur par défaut:
 'mysqli'

Obsolète depuis la version 4.2.0: Ce paramétrage a été supprimé. L’extension mysql est uniquement utilisée lorsque l’extension mysqli n’est pas disponible. À partir de 5.0.0, seule l’extension mysqli peut être utilisée.

L’extension PHP MySQL à utiliser (mysql ou mysqli).

Il est recommandé d’utiliser l’extension 'mysqli' pour toutes les installations.

$cfg['Servers'][$i]['pmadb']
Type:chaîne
Valeur par défaut:
 ''

Le nom de la base de données contenant la configuration de stockage de phpMyAdmin.

Voir la section Stockage de la configuration de phpMyAdmin dans ce document pour voir les avantages de cette fonctionnalité, ainsi qu’une manière rapide de créer cette base de données et les tables nécessaires.

Si vous êtes le seul utilisateur de cette installation phpMyAdmin, vous pouvez utiliser votre base de données courante pour stocker ces tables spéciales ; dans ce cas, mettez juste le nom de votre base de données dans $cfg['Servers'][$i]['pmadb']. Pour une installation multi-utilisateurs, renseigner ce paramètre avec le nom de votre base de données centrale contenant la configuration de stockage de phpMyAdmin.

$cfg['Servers'][$i]['bookmarktable']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 2.2.0.

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 permettre l’utilisation de cette fonctionnalité :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['relation']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 2.2.4.

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 :

Les clés peuvent être numériques ou alphanumériques.

Pour pouvoir utiliser cette fonctionnalité :

  • paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin
  • mettre le nom de la table de relation dans $cfg['Servers'][$i]['relation']
  • puis, en tant qu’utilisateur normal, ouvrir phpMyAdmin et pour chacune de vos tables où vous voulez utiliser cette fonctionnalité, cliquer sur Structure/Gestion des relations/ et choisir les colonnes étrangers.

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

Note

Veuillez noter que dans la version actuelle, master_db doit être identique à foreign_db. Ces champs ont été prévus pour le développement futur de relations inter-bases.

$cfg['Servers'][$i]['table_info']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 2.3.0.

Depuis la version 2.3.0, vous pouvez décrire dans une table spéciale « table_info », quel colonne doit être affichée comme info-bulle en déplaçant le curseur sur la clé correspondante. Pour permettre l’utilisation de cette fonctionnalité :

  • paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin
  • mettre le nom de la table dans $cfg['Servers'][$i]['table_info'] (par ex. pma__table_info)
  • ensuite, pour chaque table pour laquelle vous voulez utiliser cette fonctionnalité, cliquer sur « Structure/Gestion des relations/Champ à afficher » pour choisir la colonne.

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['table_coords']
Type:chaîne ou false
Valeur par défaut:
 ''

La fonctionnalité Concepteur peut enregistrer l’agencement de la page ; en cliquant sur le bouton « Enregistrer la page » ou « Enregistrer la page sous » dans le menu de conception, il est possible de personnaliser l’agencement et le charger automatiquement lors de la prochaine utilisation du Concepteur. L’agencement est stocké dans cette table. De plus, cette table est également nécessaire pour la fonctionnalité d’exportation de relations PDF, consulter $cfg['Servers'][$i]['pdf_pages'] pour plus de détails.

$cfg['Servers'][$i]['pdf_pages']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 2.3.0.

Depuis la version 2.3.0, phpMyAdmin peut créer des pages PDF montrant les relations entre les tables. De plus, l’interface Concepteur permet de gérer visuellement les relations. Pour ce faire, on doit utiliser 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é). Il faut obligatoirement utiliser la fonctionnalité « relation ».

Pour pouvoir utiliser cette fonctionnalité :

Cette fonctionnalité peut être désactivée également en définissant la configuration à false.

$cfg['Servers'][$i]['designer_coords']
Type:chaîne
Valeur par défaut:
 ''

Nouveau dans la version 2.10.0: Depuis la version 2.10.0, une interface Designer est disponible ; elle permet de gérer visuellement les relations.

Obsolète depuis la version 4.3.0: Ce paramètre a été supprimé et les données de positionnement des tables du Designer sont désormais stockées dans $cfg['Servers'][$i]['table_coords'].

Note

Vous pouvez maintenant supprimer la table pma__designer_coords de votre base de données de stockage de configuration phpMyAdmin et supprimer $cfg['Servers'][$i]['designer_coords'] de votre fichier de configuration.

$cfg['Servers'][$i]['column_info']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 2.3.0.

Cette partie nécessite une mise à jour du contenu ! 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.

Une autre nouveauté de la version 2.5.0 est le système de conversion MIME qui est également fondé sur la structure de table suivante. Voir la section Transformations pour plus de renseignements. Pour utiliser le système de conversion MIME, votre table column_info doit contenir les trois nouveaux champs “mimetype”, “transformation”, “transformation_options”.

À compter de la version 4.3.0, un nouveau système de transformations orienté saisie a été introduit. Par conséquent, la compatibilité ascendante du code utilisé dans l’ancien système de transformations a été retiré. Il est donc nécessaire de mettre à jour la table column_info afin que les anciennes transformations et le nouveau système de transformations orienté saisie fonctionnent. phpMyAdmin la mettra à jour automatiquement en analysant la structure actuelle de votre table column_info. Cependant, si quelque chose se passait mal avec la mise à jour automatique, vous pouvez utiliser le script SQL qui se trouve dans ./sql/upgrade_column_info_4_3_0+.sql pour faire la mise à jour manuellement.

Pour pouvoir utiliser cette fonctionnalité :

  • paramétrer $cfg['Servers'][$i]['pmadb'] et la configuration de stockage de phpMyAdmin

  • mettre le nom de la table dans $cfg['Servers'][$i]['column_info'] (par ex. pma__column_info)

  • pour mettre à jour votre table PRE-2.5.0 Column_comments, utilisez ceci : et souvenez-vous que la variable dans config.inc.php a été renommée de $cfg['Servers'][$i]['column_comments'] en $cfg['Servers'][$i]['column_info']

    ALTER TABLE `pma__column_comments`
    ADD `mimetype` VARCHAR( 255 ) NOT NULL,
    ADD `transformation` VARCHAR( 255 ) NOT NULL,
    ADD `transformation_options` VARCHAR( 255 ) NOT NULL;
    
  • pour mettre à jour votre table PRE-4.3.0 Column_info manuellement, utilisez ce script SQL : ./sql/upgrade_column_info_4_3_0+.sql.

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

Note

Pour que la fonctionnalité de mise à jour automatique fonctionne, votre $cfg['Servers'][$i]['controluser'] doit avoir le privilège ALTER sur la base de données phpmyadmin. Consulter la Documentation MySQL au sujet de GRANT pour savoir comment donner le privilège GRANT à un utilisateur.

$cfg['Servers'][$i]['history']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 2.5.0.

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 $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é :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['recent']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 3.5.0.

Depuis la version 3.5.0, vous pouvez afficher les tables récemment utilisées dans le panneau de navigation à gauche. C’est utile pour se rendre directement sur une table sans avoir besoin de la sélectionner dans la base. En utilisant $cfg['NumRecentTables'] vous pouvez configurer le nombre maximum de tables récentes à afficher. En sélectionnant une table dans cette liste, cela vous amènera directement à la page spécifiée dans $cfg['NavigationTreeDefaultTabTable'].

Sans configurer le stockage, vous pouvez toujours accéder aux tables récemment utilisées, mais elles disparaîtront après votre déconnexion.

Pour pouvoir utiliser cette fonctionnalité de façon persistante :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['favorite']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 4.2.0.

Depuis la version 4.2.0, vous pouvez afficher la liste des tables sélectionnées dans le panneau de navigation à gauche. C’est utile pour se rendre directement sur une table sans avoir besoin sélectionner la base, puis la table. Quand vous sélectionnez une table dans la liste, cela ira dans la page spécifiée dans $cfg['NavigationTreeDefaultTabTable'].

Vous pouvez ajouter ou retirer des tables de cette liste dans la page structure de la base de données en cliquant sur les icônes étoile à côté du nom des tables. En utilisant $cfg['NumFavoriteTables'] vous pouvez définir le nombre maximum de tables favorites à afficher.

Sans configurer le stockage, vous pouvez toujours accéder aux tables favorites, mais elles disparaîtront après votre déconnexion.

Pour pouvoir utiliser cette fonctionnalité de façon persistante :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['table_uiprefs']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 3.5.0.

Depuis la version 3.5.0, phpMyAdmin peut être configuré pour se rappeler diverses choses (colonne triée $cfg['RememberSorting'], ordre des colonnes et visibilité des colonnes dans une table) pour la navigation dans les tables. Sans configurer le stockage, ces fonctionnalités peuvent être utilisées mais les valeurs disparaîtront après votre déconnexion.

Pour pouvoir utiliser cette fonctionnalité de façon persistante :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['users']
Type:chaîne ou false
Valeur par défaut:
 ''

La table utilisée par phpMyAdmin pour stocker les informations sur les noms d’utilisateurs afin de les associer à des groupes d’utilisateurs. Voir l’entrée suivante sur $cfg['Servers'][$i]['usergroups'] pour plus de détails et les paramètres suggérés.

$cfg['Servers'][$i]['usergroups']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 4.1.0.

Depuis la version 4.1.0, vous pouvez créer différents groupes d’utilisateurs avec des éléments de menu qui y sont attachés. Les utilisateurs peuvent être affectés à ces groupes et l’utilisateur connecté ne devrait voir que les éléments de menu configurés pour le groupe d’utilisateurs auquel ils sont affectés. Pour ce faire, il lui faut deux tables « groupes d’utilisateurs » (enregistrement des éléments de menu autorisés pour chaque groupe d’utilisateurs) et « utilisateurs » (enregistrement des utilisateurs et de leurs affectations aux groupes d’utilisateurs).

Pour pouvoir utiliser cette fonctionnalité :

Cette fonctionnalité peut être désactivée également en définissant la configuration à false.

$cfg['Servers'][$i]['navigationhiding']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 4.1.0.

Depuis la version 4.1.0, vous pouvez masquer/afficher les éléments dans l’arbre de navigation.

Pour pouvoir utiliser cette fonctionnalité :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['central_columns']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 4.3.0.

Depuis la version 4.3.0, vous pouvez avoir une liste centrale des colonnes par base de données. Vous pouvez ajouter/retirer des colonnes à la liste selon votre convenance. Ces colonnes de la liste centrale seront disponibles lorsque vous créerez une nouvelle colonne pour une table ou une nouvelle table. Vous pouvez sélectionner une colonne de la liste centrale lors de la création d’une nouvelle colonne. Cela vous épargnera de saisir la même définition de colonne encore et encore, ou de saisir des noms différents pour des colonnes similaires.

Pour pouvoir utiliser cette fonctionnalité :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['designer_settings']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 4.5.0.

Depuis la version 4.5.0 les paramètres du Concepteur peuvent être mémorisés. Le choix concernant « Liens angulaires / Directs », « Accrocher à la grille », « Commuter les lignes de relations », « Agrandir / Réduire tout », « Déplacer le menu » et « Épingler le texte » peut être mémorisé de manière persistante.

Pour pouvoir utiliser cette fonctionnalité :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['savedsearches']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 4.2.0.

Depuis la version 4.2.0, vous pouvez enregistrer et charger des requêtes « query-by-example » à partir du menu Base de données > Panneau de requêtes.

Pour pouvoir utiliser cette fonctionnalité :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['export_templates']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 4.5.0.

Depuis la version 4.5.0, vous pouvez enregistrer et charger des modèles d’exportation.

Pour pouvoir utiliser cette fonctionnalité :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['tracking']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 3.3.x.

Depuis la version 3.3.x, un mécanisme de suivi est disponible. Il vous aide à suivre toutes 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é :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['tracking_version_auto_create']
Type:booléen
Valeur par défaut:
 false

Définir si le mécanisme de suivi crée automatiquement des versions pour les tables et les vues.

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 automatiquement une version pour vous.

$cfg['Servers'][$i]['tracking_default_statements']
Type:chaîne
Valeur par défaut:
 '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'

Définir la liste des instructions que le mécanisme d’auto-création utilise pour les nouvelles versions.

$cfg['Servers'][$i]['tracking_add_drop_view']
Type:booléen
Valeur par défaut:
 true

Si une instruction DROP VIEW IF EXISTS sera ajoutée en première ligne dans le journal lors de la création de la vue.

$cfg['Servers'][$i]['tracking_add_drop_table']
Type:booléen
Valeur par défaut:
 true

Si une instruction DROP TABLE IF EXISTS sera ajoutée en première ligne du journal lors de la création d’une table.

$cfg['Servers'][$i]['tracking_add_drop_database']
Type:booléen
Valeur par défaut:
 true

Si une instruction DROP DATABASE IF EXISTS sera ajoutée en première ligne du journal lors de la création d’une base de données.

$cfg['Servers'][$i]['userconfig']
Type:chaîne ou false
Valeur par défaut:
 ''

Nouveau dans la version 3.4.x.

Depuis la version 3.4.x, phpMyAdmin permet aux utilisateurs de définir eux-mêmes la plupart des préférences et de les stocker en base de données.

Si vous n’autorisez pas le stockage des préférences dans $cfg['Servers'][$i]['pmadb'], les utilisateurs pourront quand même personnaliser phpMyAdmin, mais les paramètres seront enregistrés dans le stockage local du navigateur, ou, si indisponible, jusqu’à la fin de la session.

Pour pouvoir utiliser cette fonctionnalité :

Cette fonctionnalité peut être désactivée en définissant la configuration à false.

$cfg['Servers'][$i]['MaxTableUiprefs']
Type:entier
Valeur par défaut:
 100

Nombre maximum de lignes enregistrées dans la table $cfg['Servers'][$i]['table_uiprefs'].

Quand les tables sont supprimées ou renommées, $cfg['Servers'][$i]['table_uiprefs'] peut contenir des données invalides (se référant à des tables qui n’existent plus). Nous ne conservons que ce nombre des lignes les plus récentes dans $cfg['Servers'][$i]['table_uiprefs'] et supprimons automatiquement les lignes plus anciennes.

$cfg['Servers'][$i]['SessionTimeZone']
Type:chaîne
Valeur par défaut:
 ''

Définit le fuseau horaire utilisé par phpMyAdmin. Laisser vide pour utiliser le fuseau horaire de votre serveur de base de données. Les valeurs autorisées sont expliquées dans https://dev.mysql.com/doc/refman/8.0/en/time-zone-support.html

Ceci est utile quand votre serveur de base de données utilise un fuseau horaire différent de celui que vous voulez utiliser dans phpMyAdmin.

$cfg['Servers'][$i]['AllowRoot']
Type:booléen
Valeur par défaut:
 true

Autoriser ou non un accès à la racine. Il s’agit seulement d’un raccourci pour les règles $cfg['Servers'][$i]['AllowDeny']['rules'] ci-dessous.

$cfg['Servers'][$i]['AllowNoPassword']
Type:booléen
Valeur par défaut:
 false

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']
Type:chaîne
Valeur par défaut:
 ''

Si votre règle « order » est vide, alors l’autorisation IP est désactivée.

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.

Si votre règle « order » est définie à 'explicit', l’authentification est réalisée de manière similaire à la règle “deny,allow”, avec en plus la restriction que la combinaison de votre hôte/nom d’utilisateur doit être présente dans les règles « allow », et pas dans les règles « deny ». C’est le moyen le plus sûr d’utiliser les règles allow/deny, et qui est employé pour Apache pour spécifier les règles allow et deny sans définir d’ordre.

Veuillez également consulter $cfg['TrustedProxies'] pour la détection d’adresse IP derrière des serveurs mandataires.

$cfg['Servers'][$i]['AllowDeny']['rules']
Type:tableau chaînes
Valeur par défaut:
 array()

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 dans le champ ipmask (notez que ceux contenant SERVER_ADDRESS ne sont pas disponibles sur tous les serveurs web) :

'all' -> 0.0.0.0/0
'localhost' -> 127.0.0.1/8
'localnetA' -> SERVER_ADDRESS/8
'localnetB' -> SERVER_ADDRESS/16
'localnetC' -> SERVER_ADDRESS/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 Address, ce qui suit fonctionne :

  • xxx.xxx.xxx.xxx (une IP Address exacte)
  • xxx.xxx.xxx.[yyy-zzz] (une plage d”  IP Address)
  • 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)

Pour les adresses IPv6, ce qui suit fonctionne :

  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx (une adresse IPv6 exacte)
  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:[yyyy-zzzz] (une plage d’adresses IPv6)
  • xxxx.xxxx.xxxx.xxxx/nn (CIDR, adresses IPv6 de type Classless Inter-Domain Routing – routage inter-domaine sans classe)

Mais ce qui suit ne fonctionne pas :

  • xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xx[yyy-zzz] (plage partielle d’adresses IPv6)

Exemples :

$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
$cfg['Servers'][$i]['AllowDeny']['rules'] = ['allow bob from all'];
// Allow only 'bob' to connect from any host

$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
$cfg['Servers'][$i]['AllowDeny']['rules'] = ['allow mary from 192.168.100.[50-100]'];
// Allow only 'mary' to connect from host 192.168.100.50 through 192.168.100.100

$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
$cfg['Servers'][$i]['AllowDeny']['rules'] = ['allow % from 192.168.[5-6].10'];
// Allow any user to connect from host 192.168.5.10 or 192.168.6.10

$cfg['Servers'][$i]['AllowDeny']['order'] = 'allow,deny';
$cfg['Servers'][$i]['AllowDeny']['rules'] = ['allow root from 192.168.5.50','allow % from 192.168.6.10'];
// Allow any user to connect from 192.168.6.10, and additionally allow root to connect from 192.168.5.50
$cfg['Servers'][$i]['DisableIS']
Type:booléen
Valeur par défaut:
 false

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.

Note

Activer cette option pourrait donner un gain de performance notable sur les serveurs MySQL plus anciens.

$cfg['Servers'][$i]['SignonScript']
Type:chaîne
Valeur par défaut:
 ''

Nouveau dans la version 3.5.0.

Le nom du script PHP qui doit être exécuté pour obtenir les crédentiels de connexion. C’est une approche alternative aux sessions basées sur le single signon. Le script doit fournir la fonction appelée get_login_credentials qui renvoie le nom d’utilisateur et le mot de passe, en acceptant un seul paramètre d’utilisateur existant (peut être vide). Consulter examples/signon-script.php pour un exemple :

<?php
/**
 * Single signon for phpMyAdmin
 *
 * This is just example how to use script based single signon with
 * phpMyAdmin, it is not intended to be perfect code and look, only
 * shows how you can integrate this functionality in your application.
 */

declare(strict_types=1);

// phpcs:disable Squiz.Functions.GlobalFunction

/**
 * This function returns username and password.
 *
 * It can optionally use configured username as parameter.
 *
 * @param string $user User name
 *
 * @return array<int,string>
 */
function get_login_credentials(string $user): array
{
    /* Optionally we can use passed username */
    if (! empty($user)) {
        return [$user, 'password'];
    }

    /* Here we would retrieve the credentials */
    return ['root', ''];
}
$cfg['Servers'][$i]['SignonSession']
Type:chaîne
Valeur par défaut:
 ''

Nom de la session que sera utilisée pour la méthode d’authentification signon. Vous devrez utiliser quelque chose de différent de phpMyAdmin, car c’est le nom de session qu’utilise phpMyAdmin en interne. N’est pris en compte que si $cfg['Servers'][$i]['SignonScript'] n’est pas configuré.

$cfg['Servers'][$i]['SignonCookieParams']
Type:array
Valeur par défaut:
 array()

Nouveau dans la version 4.7.0.

Un tableau associatif de paramètres de cookies de session d’autres systèmes d’authentification. Ce n’est pas nécessaire si l’autre système n’utilise pas session_set_cookie_params(). Les clés doivent contenir « lifetime », « path », « domain », « secure » ou « httponly ». Les valeurs valides sont mentionnées dans session_get_cookie_params, et devraient être définies avec les mêmes valeurs que celles utilisées par l’autre application. N’a d’effet que si $cfg['Servers'][$i]['SignonScript'] n’est pas configuré.

$cfg['Servers'][$i]['SignonURL']
Type:chaîne
Valeur par défaut:
 ''

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']
Type:chaîne
Valeur par défaut:
 ''

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['Servers'][$i]['hide_connection_errors']
Type:booléen
Valeur par défaut:
 false

Nouveau dans la version 4.9.8.

Quand afficher ou masquer les erreurs de connexions MySQL/MariaDB détaillées sur la page d’identification.

Note

Ce message d’erreur peut contenir le nom d’hôte ou l’adresse IP du serveur de base de donnée cible, ce qui peut donner des informations sur votre réseau à un pirate.

Paramètres génériques

$cfg['DisableShortcutKeys']
Type:booléen
Valeur par défaut:
 false

Vous pouvez aussi désactiver les raccourcis en définissant à true $cfg['SuhosinDisableWarning'].

$cfg['ServerDefault']
Type:entier
Valeur par défaut:
 1

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['VersionCheck']
Type:booléen
Valeur par défaut:
 true

Active la vérification des dernières versions en utilisant JavaScript sur la page principale de phpMyAdmin par un accès direct à index.php.route=/version_check.php.

Note

Ce paramètre peut être ajusté par votre vendeur.

$cfg['ProxyUrl']
Type:chaîne
Valeur par défaut:
 ''

L’URL du serveur mandataire à utiliser quand phpMyAdmin doit accéder à Internet comme par exemple pour récupérer l’information au sujet de la plus récente version de phpMyAdmin ou pour envoyer des rapports d’erreur. Ceci est nécessaire si le serveur sur lequel phpMyAdmin est installé n’a pas d’accès direct à Internet. Le format est « nom de serveur:numéro de port »

$cfg['ProxyUser']
Type:chaîne
Valeur par défaut:
 ''

Le code utilisateur pour s’authentifier sur le serveur mandataire. Par défaut, aucune authentification n’est utilisée. Si un code utilisateur est fourni, l’authentification de base sera utilisée. Aucun autre type d’authentification n’est permis pour le moment.

$cfg['ProxyPass']
Type:chaîne
Valeur par défaut:
 ''

Le mot de passe pour s’authentifier sur le serveur mandataire.

$cfg['MaxDbList']
Type:entier
Valeur par défaut:
 100

Le nombre maximum de noms de bases de données à afficher dans la liste des bases de données.

$cfg['MaxTableList']
Type:entier
Valeur par défaut:
 250

Le nombre maximum de tables à afficher dans le panneau principal (sauf sur le panneau Exporter).

$cfg['ShowHint']
Type:booléen
Valeur par défaut:
 true

Affichage ou pas des astuces (par exemple, les astuces lors du survol des en-têtes de tables par la souris).

$cfg['MaxCharactersInDisplayedSQL']
Type:entier
Valeur par défaut:
 1000

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['PersistentConnections']
Type:booléen
Valeur par défaut:
 false

Indique si les connexions persistantes doivent être utilisées ou pas.

$cfg['ForceSSL']
Type:booléen
Valeur par défaut:
 false

Obsolète depuis la version 4.6.0: Ce paramètre n’est plus disponible depuis phpMyAdmin 4.6.0. Veuillez adapter la configuration de votre serveur Web en conséquence.

Pour forcer ou pas l’utilisation de https lors de l’accès à phpMyAdmin. Dans une configuration de proxy inverse, paramétrer ceci à true n’est pas pris en charge.

Note

Dans certaines configurations −comme un proxy SSL séparé ou un équilibreur de charge (load balancer)− vous pourriez avoir besoin de définir $cfg['PmaAbsoluteUri'] pour avoir une redirection correcte.

$cfg['MysqlSslWarningSafeHosts']
Type:array
Valeur par défaut:
 ['127.0.0.1', 'localhost']

Cette recherche est sensible à la casse et ne correspondra qu’à la chaîne exacte. Si votre installation n’utilise pas le SSL mais est sûre parce que vous utilisez une connexion locale ou un réseau privé, vous pouvez ajouter votre nom d’hôte ou IP à la liste. Vous pouvez également supprimer les entrées par défaut pour n’inclure que les vôtres.

Cette vérification utilise la valeur de $cfg['Servers'][$i]['host'].

Nouveau dans la version 5.1.0.

Exemple de configuration

$cfg['MysqlSslWarningSafeHosts'] = ['127.0.0.1', 'localhost', 'mariadb.local'];
$cfg['ExecTimeLimit']
Type:entier [nombre de secondes]
Valeur par défaut:
 300

Définit le nombre de secondes pendant lequel un script est autorisé à s’exécuter. Si ce chiffre est 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']
Type:chaîne
Valeur par défaut:
 ''

Chemin de stockage des données de session (session_save_path PHP parameter).

Avertissement

Ce dossier ne doit pas être publiquement accessible via le serveur web, sinon vous risquez la fuite de données privées provenant de votre session.

$cfg['MemoryLimit']
Type:chaîne [nombre d’octets]
Valeur par défaut:
 '-1'

Définit le nombre d’octets qu’un script est autorisé à allouer. Si ce nombre est défini à '-1', aucune limite n’est imposée. S’il est défini à '0', aucun changement à la limite de mémoire n’est tenté et le réglage de php.ini memory_limit est utilisé.

Ce paramètre est utilisé lors de l’importation/exportation de fichiers de listage, il ne faut 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']
Type:booléen
Valeur par défaut:
 false

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']
Type:booléen
Valeur par défaut:
 true

Définit si les requêtes SQL générées par phpMyAdmin doivent être affichées.

$cfg['RetainQueryBox']
Type:booléen
Valeur par défaut:
 false

Définit si la boîte de requête SQL doit rester affichée après soumission de la requête.

$cfg['CodemirrorEnable']
Type:booléen
Valeur par défaut:
 true

Définit s’il faut utiliser un éditeur de code JavaScript pour les boîtes de requêtes. CodeMirror fournit la coloration syntaxique et la numérotation des lignes. Cependant, un double clic pour copier des contenus dans le presse-papiers dans certaines distributions GNU/Linux (comme Ubuntu) n’est pas supporté dans tous les navigateurs.

$cfg['LintEnable']
Type:booléen
Valeur par défaut:
 true

Nouveau dans la version 4.5.0.

Définit si l’analyseur syntaxique doit être utilisé pour trouver les erreurs éventuelles dans la requête avant de l’exécuter.

$cfg['DefaultForeignKeyChecks']
Type:chaîne
Valeur par défaut:
 'default'

La valeur par défaut de la case à cocher pour la vérification des clés étrangères, qui sert à désactiver/activer les vérification de clés étrangères pour certaines requêtes. Les valeurs possibles sont « Valeur par défaut du serveur », « Activer » ou « Désactiver ». Si « Valeur par défaut du serveur » est sélectionné, la valeur de la variable MySQL FOREIGN_KEY_CHECKS est utilisée.

$cfg['AllowUserDropDatabase']
Type:booléen
Valeur par défaut:
 false

Avertissement

Ceci n’est pas une mesure de sécurité car il existera toujours des moyens de la contourner. Si vous voulez empêcher les utilisateurs de supprimer des bases de données, révoquez leurs privilèges DROP correspondant.

Définit si les utilisateurs lambda (non administrateur) sont autorisés à supprimer leur propre base de données. S’il est défini à FALSE, le lien guilabel: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']
Type:booléen
Valeur par défaut:
 true

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['UseDbSearch']
Type:booléen
Valeur par défaut:
 true

Définit si « rechercher une chaîne dans la base de données » est activé.

$cfg['IgnoreMultiSubmitErrors']
Type:booléen
Valeur par défaut:
 false

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['enable_drag_drop_import']
Type:booléen
Valeur par défaut:
 true

Si oui ou non, la fonctionnalité drag&drop est activée. Lorsqu’elle est activée, un utilisateur peut déposer un fichier dans son navigateur et phpMyAdmin essaiera d’importer le fichier.

$cfg['URLQueryEncryption']
Type:booléen
Valeur par défaut:
 false

Nouveau dans la version 4.9.8.

Définir si phpMyAdmin chiffrera les données sensibles (comme le nom de la base de données et le nom de la table) dans la chaîne de requête URL. La valeur par défaut est de ne pas chiffrer la chaîne de requête URL.

$cfg['URLQueryEncryptionSecretKey']
Type:chaîne
Valeur par défaut:
 ''

Nouveau dans la version 4.9.8.

Une clé secrète pour dé/crypter la requête dans l’URL. Doit faire 32 octets de long.

$cfg['maxRowPlotLimit']
Type:entier
Valeur par défaut:
 500

Nombre maximum de lignes récupérées pour la recherche par zoom.

Panneau principal

$cfg['ShowStats']
Type:booléen
Valeur par défaut:
 true

Définit s’il faut afficher ou non les statistiques et l’usage de l’espace de stockage des bases de données et des 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']
Type:booléen|chaîne
Valeur par défaut:
 true

Définit si l’affichage des informations détaillées sur le serveur doit se faire sur la page principale. Les valeurs possibles sont :

  • true pour afficher toutes les informations serveur
  • false pour cacher les informations serveur
  • 'database-server' pour n’afficher que les informations du serveur de base de données
  • 'web-server' pour n’afficher que les informations du serveur web

You can additionally hide more information by using $cfg['Servers'][$i]['verbose'].

Modifié dans la version 6.0.0: Ajout des options 'database-server' et 'web-server'.

$cfg['ShowPhpInfo']
Type:booléen
Valeur par défaut:
 false

Définit si Informations PHP est affiché dans le cadre principal (de droite) de démarrage.

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

Avertissement

En activant la page phpinfo, vous perdrez beaucoup d’informations sur la configuration du serveur. Il n’est pas recommandé de l’activer sur les installations partagées.

Cela pourrait également rendre certaines attaques à distance plus facile sur vos installations, activez donc ceci seulement lorsque c’est nécessaire.

$cfg['ShowChgPassword']
Type:booléen
Valeur par défaut:
 true

Définit si Modifier le mot de passe est affiché dans le cadre principal (de droite) de démarrage. Ce paramètre ne vérifie pas les commandes MySQL saisies directement.

Merci de noter qu’activer le lien Modifier le mot de passe n’a pas d’effet avec le mode d’authentification « config » : leur mot de passe étant codé dans le fichier de configuration, les utilisateurs n’ont pas la possibilité de le modifier.

$cfg['ShowCreateDb']
Type:booléen
Valeur par défaut:
 true

Définit si on affiche ou pas le formulaire de création de base de données dans le cadre principal (de droite) de démarrage. Ce paramètre ne vérifie pas les commandes MySQL saisies directement.

$cfg['ShowGitRevision']
Type:booléen
Valeur par défaut:
 true

Définit s’il faut afficher des informations sur la révision Git actuelle (le cas échéant) sur le panneau principal.

$cfg['MysqlMinVersion']
Type:array

Définit la version minimum de MySQL qui est supportée. La version par défaut est choisie par l’équipe phpMyAdmin ; cependant ce paramètre a été demandé par un développeur du panneau de contrôle Plesk pour faciliter l’intégration avec d’anciens serveurs MySQL (où la plupart des fonctionnalités de phpMyAdmin sont possibles).

Structure de base de données

$cfg['ShowDbStructureCharset']
Type:booléen
Valeur par défaut:
 false

Defines whether to show a column displaying the charset for all tables in the database structure page.

$cfg['ShowDbStructureComment']
Type:booléen
Valeur par défaut:
 false

Defines whether to show a column displaying the comments for all tables in the database structure page.

$cfg['ShowDbStructureCreation']
Type:booléen
Valeur par défaut:
 false

Définit si la page de structure de base de données (liste des tables) a une colonne « Création » qui s’affiche lorsque chaque table est créée.

$cfg['ShowDbStructureLastUpdate']
Type:booléen
Valeur par défaut:
 false

Définit si la page de structure de base de données (liste des tables) a une colonne « Dernière mise à jour » qui s’affiche pour la date de dernière mise à jour de la table.

$cfg['ShowDbStructureLastCheck']
Type:booléen
Valeur par défaut:
 false

Définit si la page de structure de base de données (liste des tables) a une colonne « Dernière vérification » qui affiche la date de la dernière vérification de la table.

$cfg['HideStructureActions']
Type:booléen
Valeur par défaut:
 true

Définit si les actions sur la structure des tables doivent être masquées dans une liste déroulante « Plus ».

$cfg['ShowColumnComments']
Type:booléen
Valeur par défaut:
 true

Définit si les commentaires des colonnes doivent être affichés dans la vue de structure de table.

Mode de navigation

$cfg['TableNavigationLinksMode']
Type:chaîne
Valeur par défaut:
 'icons'

Définit si les liens vers les tables contiennent des « Icônes », du « Texte » ou « Les deux ».

$cfg['ActionLinksMode']
Type:chaîne
Valeur par défaut:
 'both'

Si défini à icons, les liens vers les propriétés des tables et les menus seront affichés avec des icônes à la place du texte (comme Parcourir, Sélectionner, Insérer, …). Peut être défini à 'both' si vous voulez des icônes ET du texte. Quand cette valeur vaut text il ne sera affiché que du texte.

$cfg['RowActionType']
Type:chaîne
Valeur par défaut:
 'both'

Pour activer ou non l’affichage des icônes ou du texte ou des deux dans le segment action d’une ligne de table. Les valeurs peuvent être 'icons', 'text' ou 'both'.

$cfg['ShowAll']
Type:booléen
Valeur par défaut:
 false

Définit si un utilisateur peut afficher un bouton « Tout afficher » en mode navigation ou dans tous les cas. Par défaut, il est affiché pour les petites tables (moins de 500 lignes) pour éviter les problèmes de performance.

$cfg['MaxRows']
Type:entier
Valeur par défaut:
 25

Nombre de lignes affichées lors de la navigation sur un ensemble de résultats et si aucune clause LIMIT n’est utilisée. Si le nombre des colonnes est supérieur à cette valeur, des liens « Précédent » et « Suivant » seront affichés. Les valeurs possibles sont 25, 50, 100, 250, 500.

$cfg['Order']
Type:chaîne
Valeur par défaut:
 'SMART'

Définit si les colonnes sont affichées en ordre croissant (ASC), décroissant (DESC) ou en ordre « intelligent » (SMART) - c’est-à-dire en ordre décroissant pour les colonnes de type TIME, DATE, DATETIME &amp; TIMESTAMP et croissant pour les autres - par défaut.

Modifié dans la version 3.4.0: Depuis phpMyAdmin 3.4.0, la valeur par défaut est 'SMART'.

$cfg['DisplayBinaryAsHex']
Type:booléen
Valeur par défaut:
 true

Defines whether the « Show binary contents as HEX » browse option is ticked by default.

Nouveau dans la version 3.3.0.

Obsolète depuis la version 4.3.0: Ce paramètre a été supprimé.

$cfg['GridEditing']
Type:chaîne
Valeur par défaut:
 'double-click'

Définit quelle action (double-clic ou clic) déclenche l’édition de la grille. Peut être désactivé avec la valeur disabled.

$cfg['RelationalDisplay']
Type:chaîne
Valeur par défaut:
 'K'

Définit le comportement initial pour Options > Relations. K , qui est la valeur par défaut, affiche la clé alors que D montre colonne d’affichage.

$cfg['SaveCellsAtOnce']
Type:booléen
Valeur par défaut:
 false

Définit s’il faut enregistrer toutes les cellules éditées à la fois en édition de grille.

Mode de modification

$cfg['ProtectBinary']
Type:booléen ou chaîne
Valeur par défaut:
 'blob'

Définit si les colonnes BLOB ou BINARY sont protégés lors de l’affichage du contenu d’une table. Les valeurs valides sont :

  • false pour permettre la modification de toutes les colonnes ;
  • blob pour autoriser la modification de toutes les colonnes sauf les colonnes de type BLOBS ;
  • 'noblob' pour désactiver la modification de toutes les colonnes sauf les colonnes de type BLOBS (le contraire de 'blob') ;
  • 'all' pour interdire la modification des colonnes de types BINARY ou BLOB.
$cfg['ShowFunctionFields']
Type:booléen
Valeur par défaut:
 true

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']
Type:booléen
Valeur par défaut:
 true

Définit si les colonnes type doivent être affichées en mode modification/insertion. L’utilisateur peut changer ce paramètre à partir de l’interface.

$cfg['InsertRows']
Type:entier
Valeur par défaut:
 2

Définit le nombre de lignes par défaut devant être saisies depuis la page d’insertion. Les utilisateurs peuvent le modifier manuellement depuis le bas de cette page pour ajouter/retirer des lignes vides.

$cfg['ForeignKeyMaxLimit']
Type:entier
Valeur par défaut:
 100

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']
Type:array
Valeur par défaut:
 array(“content-id”, “id-content”)

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.

Exporter et importer des paramètres

$cfg['ZipDump']
Type:booléen
Valeur par défaut:
 true
$cfg['GZipDump']
Type:booléen
Valeur par défaut:
 true
$cfg['BZipDump']
Type:booléen
Valeur par défaut:
 true

Définit si on utilise la compression zip/GZip/BZip2 lors de la création de fichiers d’exportation

$cfg['CompressOnFly']
Type:booléen
Valeur par défaut:
 true

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['Export']
Type:array
Valeur par défaut:
 array(…)

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']['format']
Type:chaîne
Valeur par défaut:
 'sql'

Format d’exportation par défaut.

$cfg['Export']['method']
Type:chaîne
Valeur par défaut:
 'quick'

Définit le mode d’affichage du formulaire d’export lors de son chargement. Les valeurs permises sont :

  • quick pour afficher le nombre minimum d’options à configurer
  • custom pour afficher toutes les options de configuration disponibles
  • custom-no-form est identique à custom mais n’affiche pas l’option d’export rapide
$cfg['Export']['compression']
Type:chaîne
Valeur par défaut:
 'none'

Méthode de compression de l’exportation par défaut. Les valeurs possibles sont 'none', 'zip' ou 'gzip'.

$cfg['Export']['charset']
Type:chaîne
Valeur par défaut:
 ''

Définit l’encodage pour l’exportation générée. Par défaut, aucune conversion d’encodage n’est effectuée en supposant UTF-8.

$cfg['Export']['file_template_table']
Type:chaîne
Valeur par défaut:
 '@TABLE@'

Modèle de nom de fichier par défaut pour les exportations de tables.

$cfg['Export']['file_template_database']
Type:chaîne
Valeur par défaut:
 '@DATABASE@'

Modèle de nom de fichier par défaut pour les exportations de bases de données.

$cfg['Export']['file_template_server']
Type:chaîne
Valeur par défaut:
 '@SERVER@'

Modèle de nom de fichier par défaut pour les exportations de serveurs.

$cfg['Export']['remove_definer_from_definitions']
Type:booléen
Valeur par défaut:
 false

Supprimer la clause DEFINE des définitions des événements, des vues ou des procédures.

Nouveau dans la version 5.2.0.

$cfg['Import']
Type:array
Valeur par défaut:
 array(…)

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['Import']['charset']
Type:chaîne
Valeur par défaut:
 ''

Définit l’encodage pour l’importation. Par défaut, aucune conversion d’encodage n’est effectuée en supposant UTF-8.

$cfg['Schema']
Type:array
Valeur par défaut:
 array(…)
$cfg['Schema']['format']
Type:chaîne
Valeur par défaut:
 'pdf'

Définit le format par défaut pour l’exportation des schémas. Les valeurs possibles sont 'pdf', 'eps', 'dia' ou 'svg'.

Paramètres d’affichage des onglets

$cfg['TabsMode']
Type:chaîne
Valeur par défaut:
 'both'

Définit si les onglets de menu contiennent des « Icônes », du « Texte » ou « les deux ».

$cfg['PropertiesNumColumns']
Type:entier
Valeur par défaut:
 1

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. 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']
Type:chaîne
Valeur par défaut:
 'welcome'

Définit l’onglet affiché par défaut dans la vue serveur. Les valeurs autorisées sont les traductions équivalentes à :

  • `welcome (recommandé pour les installations multi-utilisateurs)
  • databases,
  • status
  • variables
  • privileges
$cfg['DefaultTabDatabase']
Type:chaîne
Valeur par défaut:
 'structure'

Définit l’onglet affiché par défaut pour la vue base de données. Les valeurs possibles sont les traductions équivalentes à :

  • structure
  • sql
  • search
  • opérations
$cfg['DefaultTabTable']
Type:chaîne
Valeur par défaut:
 'browse'

Définit l’onglet affiché par défaut pour la vue base de données. Les valeurs autorisées sont les traductions équivalentes à :

  • structure
  • sql
  • search
  • insérer
  • afficher

Options PDF

$cfg['PDFPageSizes']
Type:array
Valeur par défaut:
 array('A3', 'A4', 'A5', 'letter', 'legal')

Tableau des différentes tailles de papier possibles pour la création des pages PDF.

Vous ne devriez jamais avoir besoin de modifier cela.

$cfg['PDFDefaultPageSize']
Type:chaîne
Valeur par défaut:
 'A4'

Taille de page par défaut à utiliser pour la création de pages PDF. Les valeurs autorisées sont énumérées dans $cfg['PDFPageSizes'].

Langues

$cfg['DefaultLang']
Type:chaîne
Valeur par défaut:
 'en'

Définit la langue à utiliser par défaut, s’il n’est pas définit par le navigateur ou l’utilisateur. Le fichier de langue correspondant doit être dans locale/code/LC_MESSAGES/phpmyadmin.mo.

$cfg['DefaultConnectionCollation']
Type:chaîne
Valeur par défaut:
 'utf8mb4_general_ci'

Définit la collation utilisée par défaut. Consultez la documentation MySQL pour les jeux de caractères pour obtenir une liste des valeurs possibles.

$cfg['Lang']
Type:chaîne
Valeur par défaut:
 non défini

Force la langue à utiliser. Le fichier de langue correspondant doit être dans locale/code/LC_MESSAGES/phpmyadmin.mo.

$cfg['FilterLanguages']
Type:chaîne
Valeur par défaut:
 ''

Limite la liste des langues disponibles à celle correspondant à 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']
Type:chaîne
Valeur par défaut:
 'auto'

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 mbstring)
  • 'iconv' - utilise les fonctions iconv ou libiconv,
  • 'mb' - utilise l’extension mbstring
  • 'none' - désactive la conversion de l’encodage

Quand la conversion de caractères est activée, cela active un menu déroulant dans les pages d’export et d’import, afin de choisir le jeu de caractères utilisé lors de l’exportation d’un fichier. La valeur par défaut dans ce menu provient de $cfg['Export']['charset'] et $cfg['Import']['charset'].

Modifié dans la version 6.0.0: La prise en charge de l’extension Recode a été supprimée. La valeur 'recode' est ignorée et la valeur par défaut ('auto') est utilisée à la place.

$cfg['IconvExtraParams']
Type:chaîne
Valeur par défaut:
 '//TRANSLIT'

Spécifie des paramètres pour iconv utilisés dans la conversion de jeux de caractères. 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']
Type:array
Valeur par défaut:
 array(…)

Jeux de caractères disponibles pour la conversion MySQL. Vous pouvez ajouter le vôtre (n’importe lequel pris en charge par mbstring/iconv) ou supprimer celui dont vous ne vous servez pas. Les jeux de caractères seront affichés dans le même ordre que celui défini ici ; aussi, si vous en utilisez fréquemment quelques-uns, faites-les figurer en début de tableau.

Paramètres du serveur web

$cfg['OBGzip']
Type:chaîne/booléen
Valeur par défaut:
 'auto'

Définit s’il faut utiliser la mise en cache des sorties de GZIP pour améliorer les vitesses de transfert 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['TrustedProxies']
Type:array
Valeur par défaut:
 array()

Liste les serveurs mandataires et les en-têtes HTTP de confiance pour $cfg['Servers'][$i]['AllowDeny']['order']. Cette liste est vide par défaut. Vous devez renseigner des serveurs mandataires de confiance si vous voulez utiliser des règles pour les adresses IP derrière un serveur mandataire.

L’exemple suivant spécifie que phpMyAdmin doit faire confiance à un en-tête HTTP_X_FORWARDED_FOR (X-Forwarded-For) provenant du serveur mandataire 1.2.3.4 :

$cfg['TrustedProxies'] = ['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']
Type:chaîne
Valeur par défaut:
 'auto'

Spécifie si GD est disponible en version 2 ou supérieure. Si c’est le cas, il peut être utilisé pour les transformations MIME. Les valeurs autorisées sont :

  • auto - détecte automatiquement
  • yes - les fonctions GD 2 peuvent être utilisées,
  • no - les fonctions GD 2 ne peuvent pas être utilisées
$cfg['CheckConfigurationPermissions']
Type:booléen
Valeur par défaut:
 true

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 devrait définir ce paramètre à FALSE.

$cfg['LinkLengthLimit']
Type:entier
Valeur par défaut:
 1000

Longueur limite 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 problèmes avec les URL longues.

$cfg['CSPAllow']
Type:chaîne
Valeur par défaut:
 ''

Chaîne supplémentaire à inclure dans les sources autorisées de script et d’image dans l’en-tête de la politique de sécurité du contenu.

Cela peut être utile lorsque vous souhaitez inclure des fichiers externes de JavaScript dans config.footer.inc.php ou config.header.inc.php, ce qui ne serait normalement pas autorisé par la Content Security Policy.

Pour permettre certains sites, il suffit de les énumérer à l’intérieur de la chaîne :

$cfg['CSPAllow'] = 'example.com example.net';

Nouveau dans la version 4.0.4.

$cfg['DisableMultiTableMaintenance']
Type:booléen
Valeur par défaut:
 false

Dans la page Structure de la base de données, il est possible de marquer certaines tables puis de choisir une opération comme l’optimisation de plusieurs tables. Ceci peut ralentir le serveur ; par conséquent, définir ceci à true empêche ce type d’opération de maintenance multiple.

Paramètres des thèmes

Veuillez modifier directement themes/themename/scss/_variables.scss, bien que vos changements seront écrasés lors de la prochaine mise à jour.

Personnalisation du design

$cfg['NavigationTreePointerEnable']
Type:booléen
Valeur par défaut:
 true

Lorsque défini à true, placer le curseur sur un élément dans le panneau de navigation provoque le marquage de cet élément (le fond est mis en surbrillance).

$cfg['BrowsePointerEnable']
Type:booléen
Valeur par défaut:
 true

Lorsque défini à true, survoler une ligne dans le volet Afficher provoque le marquage de cette ligne (le fond est mis en surbrillance).

$cfg['BrowseMarkerEnable']
Type:booléen
Valeur par défaut:
 true

Lorsque réglé à la valeur true, une ligne de données est marquée (le fond est mis en surbrillance) lorsque la ligne est sélectionnée avec la case à cocher.

$cfg['LimitChars']
Type:entier
Valeur par défaut:
 50

Nombre maximum de caractères affichés dans un champ non numérique en mode Afficher. Peut être désactivé par un bouton radio dans la page de navigation.

Type:chaîne
Valeur par défaut:
 'left'

Définit l’endroit où les liens modifier, copier et effacer seront placés quand le contenu des tables est affiché (vous pouvez les afficher à gauche, à droite, des deux côtés ou nulle part).

$cfg['RowActionLinksWithoutUnique']
Type:booléen
Valeur par défaut:
 false

Définit si l’on doit afficher les liens relatifs aux lignes (Modifier, Copier, Effacer) et les cases à cocher pour des opérations sur plusieurs lignes, même si la sélection ne comporte pas de unique key. Faire des actions sur des lignes en l’absence d’une clé unique peut faire en sorte que des lignes différentes ou plus de lignes soient affectées puisqu’il n’y a aucun garantie quant à la sélection exacte des lignes.

$cfg['RememberSorting']
Type:booléen
Valeur par défaut:
 true

Si activé, l’ordre de tri des tables est conservé lors de la navigation dans les tables.

$cfg['TablePrimaryKeyOrder']
Type:chaîne
Valeur par défaut:
 'NONE'

Ceci définit l’ordre de tri par défaut des tables possédant une primary key, lorsqu’il n’y a aucun ordre de tri défini à l’externe. Les valeurs possibles sont : [“NONE”, “ASC”, “DESC”]

$cfg['ShowBrowseComments']
Type:booléen
Valeur par défaut:
 true
$cfg['ShowPropertyComments']
Type:booléen
Valeur par défaut:
 true

En définissant la variable correspondante à TRUE, vous pouvez afficher les commentaires de colonnes en mode Navigation ou Propriétés. En mode navigation, les commentaires sont affichés à l’intérieur de l’en-tête. En mode propriétés, les commentaires sont affichés en utilisant une feuille de style qui met une ligne de tirets sous le nom du champ. Le commentaire est affiché en tant qu’info-bulle pour ce champ.

$cfg['FirstDayOfCalendar']
Type:entier
Valeur par défaut:
 0

Ceci définira le premier jour de la semaine dans le calendrier. Le nombre peut être réglé de 0 à 6, ce qui représente les sept jours de la semaine, du dimanche au samedi respectivement. Cette valeur peut également être configurée par l’utilisateur dans le champ Paramètres du serveur -> Fonctionnalités -> Général -> Premier jour du calendrier.

Champs texte

$cfg['CharEditing']
Type:chaîne
Valeur par défaut:
 'input'

Définit quels types de contrôles d’édition doivent être utilisés pour les colonnes CHAR et VARCHAR. Cela s’applique à l’édition des données ainsi qu’aux valeurs par défaut dans l’édition de structure. Les valeurs permises sont :

  • input - ceci permet de limiter la taille du texte en fonction de la taille des colonnes dans MySQL, mais il y a des problèmes avec les caractères « newline » dans les colonnes
  • textarea - aucun problème avec les caractères « newline » dans les colonnes, mais ne permet pas de limitation de taille
$cfg['MinSizeForInputField']
Type:entier
Valeur par défaut:
 4

Définir la taille minimale des champs de saisie générés pour les colonnes CHAR et VARCHAR.

$cfg['MaxSizeForInputField']
Type:entier
Valeur par défaut:
 60

Définir la taille maximale des champs de saisie générés pour les colonnes CHAR et VARCHAR.

$cfg['TextareaCols']
Type:entier
Valeur par défaut:
 40
$cfg['TextareaRows']
Type:entier
Valeur par défaut:
 15
$cfg['CharTextareaCols']
Type:entier
Valeur par défaut:
 40
$cfg['CharTextareaRows']
Type:entier
Valeur par défaut:
 7

Le nombre de colonnes et de lignes pour les zones de text (textareas). 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 la modification de CHAR et VARCHAR (si configurées dans $cfg['CharEditing']).

Modifié dans la version 5.0.0: La valeur par défaut est passée de 2 à 7.

$cfg['LongtextDoubleTextarea']
Type:booléen
Valeur par défaut:
 true

Définit si la zone de texte pour les colonnes LONGTEXT doit avoir une taille double.

$cfg['TextareaAutoSelect']
Type:booléen
Valeur par défaut:
 false

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['EnableAutocompleteForTablesAndColumns']
Type:booléen
Valeur par défaut:
 true

Si vous voulez activer la saisie semi-automatique pour les noms de table et de colonne dans n’importe quelle boîte de requête SQL.

Paramètres de la fenêtre de requête SQL

$cfg['SQLQuery']['Edit']
Type:booléen
Valeur par défaut:
 true

Définit l’affichage d’un lien pour modifier une requête dans toute boîte SQL Query.

$cfg['SQLQuery']['Explain']
Type:booléen
Valeur par défaut:
 true

Définit l’affichage d’un lien pour expliquer une requête SELECT dans toute boîte SQL Query.

$cfg['SQLQuery']['ShowAsPHP']
Type:booléen
Valeur par défaut:
 true

Définit l’affichage d’un lien pour incorporer une requête dans du code PHP dans toute boîte SQL Query.

$cfg['SQLQuery']['Refresh']
Type:booléen
Valeur par défaut:
 true

Définit l’affichage d’un lien pour actualiser une requête dans toute boîte SQL Query.

Les répertoires de transfert/sauvegarde/import du serveur web

Si PHP est exécuté en mode sécurisé, tous les répertoires doivent appartenir au même utilisateur que le propriétaire des scripts phpMyAdmin.

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 l’interprêteur PHP.

Pour des raisons de sécurité, tous les répertoires doivent être en dehors de l’arbre publié par le serveur Web. Si vous ne pouvez faire autrement, limitez l’accès aux répertoires en utilisant la configuration du serveur Web (par exemple en utilisant des fichiers .htaccess ou web.config) ou placez au moins un fichier index.html vide ici, de sorte que le parcours de répertoires ne soit pas possible. Cependant, tant que le répertoire est accessible par le serveur Web, un attaquant peut deviner les noms de fichiers pour les télécharger.

$cfg['UploadDir']
Type:chaîne
Valeur par défaut:
 ''

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é via HTTP, ou quand les transferts de fichiers sont désactivés dans PHP.

Avertissement

Veuillez consulter le début de ce chapitre (Les répertoires de transfert/sauvegarde/import du serveur web) pour des instructions sur la configuration de ce répertoire et comment le sécuriser.

$cfg['SaveDir']
Type:chaîne
Valeur par défaut:
 ''

Le nom du répertoire du serveur web où les fichiers exportés peuvent être sauvegardés.

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

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

Avertissement

Veuillez consulter le début de ce chapitre (Les répertoires de transfert/sauvegarde/import du serveur web) pour des instructions sur la configuration de ce répertoire et comment le sécuriser.

$cfg['TempDir']
Type:chaîne
Valeur par défaut:
 './tmp/'

Le nom du répertoire où les fichiers temporaires peuvent être stockés. Il est utilisé pour :

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 une configuration similaire en utilisant une ACL :

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 faire un chmod 777 sur le répertoire, mais cela pourrait imposer des risques de sécurité aux autres utilisateurs du système qui lisent et écrivent des données dans ce répertoire.

Avertissement

Veuillez consulter le début de ce chapitre (Les répertoires de transfert/sauvegarde/import du serveur web) pour des instructions sur la configuration de ce répertoire et comment le sécuriser.

Divers paramètres d’affichage

$cfg['RepeatCells']
Type:entier
Valeur par défaut:
 100

Répète les en-têtes toutes les X cellules, ou 0 pour désactiver.

$cfg['EditInWindow']
Type:booléen
Valeur par défaut:
 true

Obsolète depuis la version 4.3.0: Ce paramètre a été supprimé.

$cfg['QueryWindowWidth']
Type:entier
Valeur par défaut:
 550

Obsolète depuis la version 4.3.0: Ce paramètre a été supprimé.

$cfg['QueryWindowHeight']
Type:entier
Valeur par défaut:
 310

Obsolète depuis la version 4.3.0: Ce paramètre a été supprimé.

$cfg['QueryHistoryDB']
Type:booléen
Valeur par défaut:
 false
$cfg['QueryWindowDefTab']
Type:chaîne
Valeur par défaut:
 'sql'

Obsolète depuis la version 4.3.0: Ce paramètre a été supprimé.

$cfg['QueryHistoryMax']
Type:entier
Valeur par défaut:
 25

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']). S’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 à cocher 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 sauvegardées dans l’historique en utilisant $cfg['QueryHistoryMax'].

$cfg['AllowSharedBookmarks']
Type:booléen
Valeur par défaut:
 true

Nouveau dans la version 6.0.0.

Permettre aux utilisateurs de créer des signets qui seront accessibles à tous les autres utilisateurs

$cfg['BrowseMIME']
Type:booléen
Valeur par défaut:
 true

Activer les Transformations.

$cfg['MaxExactCount']
Type:entier
Valeur par défaut:
 50000

Pour les tables InnoDB, détermine pour quelle taille de tables phpMyAdmin doit obtenir le nombre de lignes exact avec SELECT COUNT. Si le nombre approximatif de lignes renvoyé par SHOW TABLE STATUS est inférieur à cette valeur, SELECT COUNT sera utilisé, sinon, la valeur approximative sera utilisée.

Modifié dans la version 4.8.0: La valeur par défaut a été abaissée à 50000 pour des raisons de performance.

Modifié dans la version 4.2.6: La valeur par défaut a été changée à 500000.

$cfg['MaxExactCountViews']
Type:entier
Valeur par défaut:
 0

Pour les vues, 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. Mettre cette valeur à 0 passe outre tout comptage de lignes.

$cfg['NaturalOrder']
Type:booléen
Valeur par défaut:
 true

Trie les noms des bases de données et des tables en ordre naturel (par exemple, t1, t2, t10). Actuellement mis en œuvre dans le panneau de navigation et dans la vue Base de données, pour la liste des tables.

$cfg['InitialSlidersState']
Type:chaîne
Valeur par défaut:
 'closed'

Si défini à 'closed', les cases de défilement 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']
Type:array
Valeur par défaut:
 array()

Contains names of configuration options (keys in $cfg array) that users can’t set through user preferences. For possible values, refer to classes under src/Config/Forms/User/.

$cfg['UserprefsDeveloperTab']
Type:booléen
Valeur par défaut:
 false

Nouveau dans la version 3.4.0.

Active dans les préférences utilisateur un onglet contenant les options pour les développeurs de phpMyAdmin.

Titres de page

Le titre de la page affiché par la barre de titre de la fenêtre ou de l’onglet de votre navigateur peut être personnalisé. Vous pouvez utiliser 6.27 Quels formats de chaînes puis-je utiliser ?. Les quatre options suivantes permettent de personnaliser diverses parties de l’interface de phpMyAdmin. Notez que le titre de la page de connexion ne peut pas être modifié.

$cfg['TitleTable']
Type:chaîne
Valeur par défaut:
 '@HTTP_HOST@ / @VSERVER@ / @DATABASE@ / @TABLE@ | @PHPMYADMIN@'
$cfg['TitleDatabase']
Type:chaîne
Valeur par défaut:
 '@HTTP_HOST@ / @VSERVER@ / @DATABASE@ | @PHPMYADMIN@'
$cfg['TitleServer']
Type:chaîne
Valeur par défaut:
 '@HTTP_HOST@ / @VSERVER@ | @PHPMYADMIN@'
$cfg['TitleDefault']
Type:chaîne
Valeur par défaut:
 '@HTTP_HOST@ | @PHPMYADMIN@'

Paramètres du gestionnaire de thèmes

$cfg['ThemeManager']
Type:booléen
Valeur par défaut:
 true

Active les thèmes sélectionnables par l’utilisateur. Voir 2.7 Utiliser et créer des thèmes.

$cfg['ThemeDefault']
Type:chaîne
Valeur par défaut:
 'pmahome'

Le thème par défaut (un sous-répertoire de ./public/themes/).

$cfg['ThemePerServer']
Type:booléen
Valeur par défaut:
 false

Autorise ou non un thème différent pour chaque serveur.

$cfg['FontSize']
Type:chaîne
Valeur par défaut:
 “82%”

Obsolète depuis la version 5.0.0: Ce réglage a été retiré car le navigateur est plus efficace, et donc il n’y a pas besoin de cette option.

Taille de la police à utilisé, est utilisée dans le CSS.

Requêtes par défaut

$cfg['DefaultQueryTable']
Type:chaîne
Valeur par défaut:
 'SELECT * FROM @TABLE@ WHERE 1'
$cfg['DefaultQueryDatabase']
Type:chaîne
Valeur par défaut:
 ''

Requêtes par défaut qui seront affichées dans les boîtes de requête quand l’utilisateur ne spécifie rien. Vous pouvez utiliser 6.27 Quels formats de chaînes puis-je utiliser ?.

Paramètres MySQL

$cfg['DefaultFunctions']
Type:array
Valeur par défaut:
 array('FUNC_CHAR' => '', 'FUNC_DATE' => '', 'FUNC_NUMBER' => '', 'FUNC_SPATIAL' => 'GeomFromText', 'FUNC_UUID' => 'UUID', 'first_timestamp' => 'NOW')

Fonctions sélectionnées par défaut pour insérer/modifier un enregistrement. Les fonctions sont définies pour les méta-types comme (FUNC_NUMBER, FUNC_DATE, FUNC_CHAR, FUNC_SPATIAL, FUNC_UUID) et pour first_timestamp, qui est utilisé pour la première colonne d’horodatage dans une table.

Exemple de configuration

$cfg['DefaultFunctions'] = [
    'FUNC_CHAR' => '',
    'FUNC_DATE' => '',
    'FUNC_NUMBER' => '',
    'FUNC_SPATIAL' => 'ST_GeomFromText',
    'FUNC_UUID' => 'UUID',
    'first_timestamp' => 'UTC_TIMESTAMP',
];

Options par défaut pour les transformations

$cfg['DefaultTransformations']
Type:array
Valeur par défaut:
 Un tableau avec les clés-valeurs listées ci-dessous
$cfg['DefaultTransformations']['Substring']
Type:array
Valeur par défaut:
 array(0, “tout”, “…”)
$cfg['DefaultTransformations']['Bool2Text']
Type:array
Valeur par défaut:
 array(“T”, “F”)
$cfg['DefaultTransformations']['External']
Type:array
Valeur par défaut:
 array(0, “-f /dev/null -i -wrap -q”, 1, 1)
$cfg['DefaultTransformations']['PreApPend']
Type:array
Valeur par défaut:
 array(“”, “”)
$cfg['DefaultTransformations']['Hex']
Type:array
Valeur par défaut:
 array(“2”)
$cfg['DefaultTransformations']['DateFormat']
Type:array
Valeur par défaut:
 array(0, “”, “local”)
$cfg['DefaultTransformations']['Inline']
Type:array
Valeur par défaut:
 array(“100”, 100)
Type:array
Valeur par défaut:
 array(“”, 100, 50)
Type:array
Valeur par défaut:
 array(“”, “”, “”)

Paramètres de la console

Note

Ces réglages sont principalement à modifier par l’utilisateur.

$cfg['Console']['StartHistory']
Type:booléen
Valeur par défaut:
 false

Afficher l’historique des requêtes au démarrage

$cfg['Console']['AlwaysExpand']
Type:booléen
Valeur par défaut:
 false

Toujours développer les messages

$cfg['Console']['CurrentQuery']
Type:booléen
Valeur par défaut:
 true

Afficher la requête de navigation courante

$cfg['Console']['EnterExecutes']
Type:booléen
Valeur par défaut:
 false

Exécuter les requêtes avec Entrée et insérer une nouvelle ligne avec Maj+Entrée

$cfg['Console']['DarkTheme']
Type:booléen
Valeur par défaut:
 false

Passer au thème sombre

$cfg['Console']['Mode']
Type:chaîne
Valeur par défaut:
 « infos »

Mode console de requêtes SQL

$cfg['Console']['Height']
Type:entier
Valeur par défaut:
 92

Hauteur de la console de requêtes SQL

Développeur

Avertissement

Ces paramètres peuvent avoir un effet énorme sur les performances ou la sécurité.

$cfg['environment']
Type:chaîne
Valeur par défaut:
 'production'

Paramètre l’environnement de travail.

Cela ne doit être modifié que lorsque vous développez phpMyAdmin lui-même. Le mode « développement » peut afficher des informations de débogage à certains endroits.

Les valeurs possibles sont « production » ou « development ».

$cfg['DBG']
Type:array
Valeur par défaut:
 []
$cfg['DBG']['sql']
Type:booléen
Valeur par défaut:
 false

Active la journalisation des requêtes et des temps d’exécution qui sont alors affichés dans la console de l’onglet Debug SQL.

$cfg['DBG']['sqllog']
Type:booléen
Valeur par défaut:
 false

Active la journalisation des requêtes et des temps d’exécution dans syslog. Nécessite que $cfg['DBG']['sql'] soit activé.

$cfg['DBG']['demo']
Type:booléen
Valeur par défaut:
 false

Activer pour permettre au serveur de se présenter comme un serveur de démonstration. Ceci est utilisé pour le serveur de démonstration phpMyAdmin.

Actuellement, il modifie le comportement suivant :

  • Il y a un message d’accueil sur la page principale.
  • Il y a des informations en bas de la page à propos du serveur de démo et de la révision de Git utilisée.
  • Le script d’installation est activé même pour une configuration existante.
  • L’installation n’essaie pas de se connecter au serveur MySQL.
$cfg['DBG']['simple2fa']
Type:booléen
Valeur par défaut:
 false

Peut être utilisé pour tester l’authentification à deux facteurs avec Authentification simple à deux facteurs.

Exemple

Consulter les parties de configuration suivantes pour les configurations typiques de phpMyAdmin.

Exemple de base

Exemple de fichier de configuration qui peut être copié dans config.inc.php pour obtenir une configuration de base pour le rendu. Il est distribué avec phpMyAdmin sous le nom config.sample.inc.php. Veuillez noter qu’il ne contient pas toutes les options de configuration, seulement les plus fréquemment utilisées.

<?php
/**
 * phpMyAdmin sample configuration, you can use it as base for
 * manual configuration. For easier setup you can use setup/
 *
 * All directives are explained in documentation in the doc/ folder
 * or at <https://docs.phpmyadmin.net/>.
 */

declare(strict_types=1);

/**
 * This is needed for cookie based authentication to encrypt the cookie.
 * Needs to be a 32-bytes long string of random bytes. See FAQ 2.10.
 */
$cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

/**
 * Servers configuration
 */
$i = 0;

/**
 * First server
 */
$i++;
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

/**
 * phpMyAdmin configuration storage settings.
 */

/* User used to manipulate with storage */
// $cfg['Servers'][$i]['controlhost'] = '';
// $cfg['Servers'][$i]['controlport'] = '';
// $cfg['Servers'][$i]['controluser'] = 'pma';
// $cfg['Servers'][$i]['controlpass'] = 'pmapass';

/* Storage database and tables */
// $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin';
// $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark';
// $cfg['Servers'][$i]['relation'] = 'pma__relation';
// $cfg['Servers'][$i]['table_info'] = 'pma__table_info';
// $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords';
// $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages';
// $cfg['Servers'][$i]['column_info'] = 'pma__column_info';
// $cfg['Servers'][$i]['history'] = 'pma__history';
// $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs';
// $cfg['Servers'][$i]['tracking'] = 'pma__tracking';
// $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig';
// $cfg['Servers'][$i]['recent'] = 'pma__recent';
// $cfg['Servers'][$i]['favorite'] = 'pma__favorite';
// $cfg['Servers'][$i]['users'] = 'pma__users';
// $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups';
// $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding';
// $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches';
// $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns';
// $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings';
// $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates';

/**
 * End of servers configuration
 */

/**
 * Directories for saving/loading files from server
 */
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';

/**
 * Whether to display icons or text or both icons and text in table row
 * action segment. Value can be either of 'icons', 'text' or 'both'.
 * default = 'both'
 */
//$cfg['RowActionType'] = 'icons';

/**
 * Defines whether a user should be displayed a "show all (records)"
 * button in browse mode or not.
 * default = false
 */
//$cfg['ShowAll'] = true;

/**
 * Number of rows displayed when browsing a result set. If the result
 * set contains more rows, "Previous" and "Next".
 * Possible values: 25, 50, 100, 250, 500
 * default = 25
 */
//$cfg['MaxRows'] = 50;

/**
 * Disallow editing of binary fields
 * valid values are:
 *   false    allow editing
 *   'blob'   allow editing except for BLOB fields
 *   'noblob' disallow editing except for BLOB fields
 *   'all'    disallow editing
 * default = 'blob'
 */
//$cfg['ProtectBinary'] = false;

/**
 * Default language to use, if not browser-defined or user-defined
 * (you find all languages in the locale folder)
 * uncomment the desired line:
 * default = 'en'
 */
//$cfg['DefaultLang'] = 'en';
//$cfg['DefaultLang'] = 'de';

/**
 * How many columns should be used for table display of a database?
 * (a value larger than 1 results in some information being hidden)
 * default = 1
 */
//$cfg['PropertiesNumColumns'] = 2;

/**
 * Set to true if you want DB-based query history.If false, this utilizes
 * JS-routines to display query history (lost by window close)
 *
 * This requires configuration storage enabled, see above.
 * default = false
 */
//$cfg['QueryHistoryDB'] = true;

/**
 * When using DB-based query history, how many entries should be kept?
 * default = 25
 */
//$cfg['QueryHistoryMax'] = 100;

/**
 * Whether or not to query the user before sending the error report to
 * the phpMyAdmin team when a JavaScript error occurs
 *
 * Available options
 * ('ask' | 'always' | 'never')
 * default = 'ask'
 */
//$cfg['SendErrorReports'] = 'always';

/**
 * 'URLQueryEncryption' defines whether phpMyAdmin will encrypt sensitive data from the URL query string.
 * 'URLQueryEncryptionSecretKey' is a 32 bytes long secret key used to encrypt/decrypt the URL query string.
 */
//$cfg['URLQueryEncryption'] = true;
//$cfg['URLQueryEncryptionSecretKey'] = '';

/**
 * You can find more configuration options in the documentation
 * in the doc/ folder or at <https://docs.phpmyadmin.net/>.
 */

Avertissement

N’utilisez pas l’utilisateur de contrôle “pma” s’il n’existe pas encore et n’utilisez pas “pmapass” comme mot de passe.

Exemple pour l’authentification “signon”

Cet exemple utilise examples/signon.php pour montrer un exemple de l’utilisation de Mode d’authentification “signon” :

<?php
$i = 0;
$i++;
$cfg['Servers'][$i]['auth_type']     = 'signon';
$cfg['Servers'][$i]['SignonSession'] = 'SignonSession';
$cfg['Servers'][$i]['SignonURL']     = 'examples/signon.php';

Exemple de limitation de l’adresse IP pour la connexion automatique

Si vous voulez vous connecter automatiquement pour accéder à phpMyAdmin localement, et avec la demande d’un mot de passe pour l’accès à distance, vous pouvez utiliser le bout de code suivant :

if ($_SERVER['REMOTE_ADDR'] === '127.0.0.1') {
    $cfg['Servers'][$i]['auth_type'] = 'config';
    $cfg['Servers'][$i]['user'] = 'root';
    $cfg['Servers'][$i]['password'] = 'yourpassword';
} else {
    $cfg['Servers'][$i]['auth_type'] = 'cookie';
}

Note

Le filtrage basé sur les adresses IP n’est pas fiable sur Internet. Ne l’utiliser que pour les adresses locales.

Exemple pour l’utilisation de plusieurs serveurs MySQL

Vous pouvez configurer plusieurs serveurs en utilisant $cfg['Servers'], l’exemple suivant en propose deux :

<?php
// The string is a hexadecimal representation of a 32-bytes long string of random bytes.
$cfg['blowfish_secret'] = sodium_hex2bin('f16ce59f45714194371b48fe362072dc3b019da7861558cd4ad29e4d6fb13851');
$i = 0;

$i++; // server 1 :
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose']   = 'no1';
$cfg['Servers'][$i]['host']      = 'localhost';
// more options for #1 ...

$i++; // server 2 :
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['verbose']   = 'no2';
$cfg['Servers'][$i]['host']      = 'remote.host.addr';//or ip:'10.9.8.1'
// this server must allow remote clients, e.g., host 10.9.8.%
// not only in mysql.host but also in the startup configuration
// more options for #2 ...

// end of server sections
$cfg['ServerDefault'] = 0; // to choose the server on startup

// further general options ...

Google Cloud SQL avec SSL

Pour se connecter à Google Cloud SQL, vous devez désactiver la vérification de certificat. Ceci survient quant le CN du certificat correspond au nom de votre instance mais que vous vous connectez en utilisant l’adresse IP et PHP essaie de faire correspondre les deux. Quand la vérification est activée, vous obtenez un message d’erreur du type :

Peer certificate CN=`api-project-851612429544:pmatest' did not match expected CN=`8.8.8.8'

Avertissement

En désactivant la vérification, votre trafic est chiffré mais vous êtes vulnérable aux attaque de type « man in the middle ».

Pour connecter phpMyAdmin à Google Cloud SQL en utilisant SSL, télécharger les certificats client et serveur et indiquer à phpMyAdmin de les utiliser :

// IP address of your instance
$cfg['Servers'][$i]['host'] = '8.8.8.8';
// Use SSL for connection
$cfg['Servers'][$i]['ssl'] = true;
// Client secret key
$cfg['Servers'][$i]['ssl_key'] = '../client-key.pem';
// Client certificate
$cfg['Servers'][$i]['ssl_cert'] = '../client-cert.pem';
// Server certification authority
$cfg['Servers'][$i]['ssl_ca'] = '../server-ca.pem';
// Disable SSL verification (see above note)
$cfg['Servers'][$i]['ssl_verify'] = false;

Amazon RDS Aurora avec SSL

Pour connecter phpMyAdmin à une instance Amazon RDS Aurora MySQL en utilisant SSL, télécharger les certificats client et serveur et indiquer à phpMyAdmin de les utiliser :

// Address of your instance
$cfg['Servers'][$i]['host'] = 'replace-me-cluster-name.cluster-replace-me-id.replace-me-region.rds.amazonaws.com';
// Use SSL for connection
$cfg['Servers'][$i]['ssl'] = true;
// You need to have the region CA file and the authority CA file (2019 edition CA for example) in the PEM bundle for it to work
$cfg['Servers'][$i]['ssl_ca'] = '../rds-combined-ca-bundle.pem';
// Enable SSL verification
$cfg['Servers'][$i]['ssl_verify'] = true;

Voir aussi

reCaptcha utilisant hCaptcha

$cfg['CaptchaApi'] = 'https://www.hcaptcha.com/1/api.js';
$cfg['CaptchaCsp'] = 'https://hcaptcha.com https://*.hcaptcha.com';
$cfg['CaptchaRequestParam'] = 'h-captcha';
$cfg['CaptchaResponseParam'] = 'h-captcha-response';
$cfg['CaptchaSiteVerifyURL'] = 'https://hcaptcha.com/siteverify';
// This is the secret key from hCaptcha dashboard
$cfg['CaptchaLoginPrivateKey'] = '0xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
// This is the site key from hCaptcha dashboard
$cfg['CaptchaLoginPublicKey'] = 'xxx-xxx-xxx-xxx-xxxx';

reCaptcha en utilisant Turnstile

$cfg['CaptchaMethod'] = 'checkbox';
$cfg['CaptchaApi'] = 'https://challenges.cloudflare.com/turnstile/v0/api.js';
$cfg['CaptchaCsp'] = 'https://challenges.cloudflare.com https://static.cloudflareinsights.com';
$cfg['CaptchaRequestParam'] = 'cf-turnstile';
$cfg['CaptchaResponseParam'] = 'cf-turnstile-response';
$cfg['CaptchaLoginPublicKey'] = '0xxxxxxxxxxxxxxxxxxxxxx';
$cfg['CaptchaLoginPrivateKey'] = '0x4AAAAAAAA_xx_xxxxxxxxxxxxxxxxxxxx';
$cfg['CaptchaSiteVerifyURL'] = 'https://challenges.cloudflare.com/turnstile/v0/siteverify';

reCaptcha utilisant Google reCaptcha v2/v3

$cfg['CaptchaLoginPublicKey'] = 'xxxxxxxxxxxxxxxx-xxxxxxxxxxxx';
$cfg['CaptchaLoginPrivateKey'] = 'xxxxxxxxx-xxxxxxxxxxxxxx';
// Remove it if you dot not want the checkbox mode
$cfg['CaptchaMethod'] = 'checkbox';