Documentation phpMyAdmin 2.9.0-dev
Prérequis
- PHP
- Vous devez utiliser PHP 4.1.0 ou ultérieur avec la gestion de session (*)
- Vous avez besoin du module GD2 dans PHP pour afficher des vignettes intégrées de fichiers JPEG
(« image/jpeg:inline ») avec le rapport
hauteur / largeur original.
- Vous avez besoin de PHP 4.3.0 ou ultérieur pour utiliser la transformation MIME
« text/plain:external ».
- MySQL 3.23.32 ou ultérieur (détails);
-
Ce n'est pas vraiment un prérequis mais une forte suggestion :
si vous utilisez le mode d'authentification par 'cookie', avoir l'extension PHP mcrypt
sur votre serveur Web accélère non seulement la phase de login
mais aussi toute autre action que vous ferez dans phpMyAdmin.
- un navigateur avec les cookies activés.
Introduction
phpMyAdmin peut gérer un serveur MySQL (cela
nécessite un compte super-utilisateur) aussi bien qu'une seule
base de données. Pour pouvoir administrer une seule base de
données, il est nécessaire d'avoir un droit de lecture /
écriture sur la base de données concernée. Il vous
appartient de consulter la section appropriée dans le manuel de
MySQL.
Actuellement phpMyAdmin sait :
- parcourir et supprimer bases de données, tables, vues, champs et index;
- créer, copier, supprimer, renommer et modifier bases de données, tables, , vues, champs et index;
- maintenir serveur, bases de données et tables en proposant une configuration serveur;
- supprimer, modifier et ajouter des champs;
- exécuter, modifier et créer un signet pour toute requête
SQL, même les
requêtes par lot;
- créer1 et lire des fichiers d'exportation (dumps) de
tables;
- exporter1 des données dans divers formats :
CSV,
XML,
PDF,
ISO/IEC 26300 - texte et feuille de calcul OpenDocument,
Word,
Excel et LATEX ;
- administrer plusieurs serveurs;
- gérer les utilisateurs MySQL et les privilèges;
- vérifier l'intégrité référentielle des tables MyISAM;
- utiliser Query-by-example (QBE), créer des requêtes complexes se connectant automatiquement aux tables concernées;
- créer des graphiques PDF du schéma de votre base de données;
- faire des recherches dans une base de données entière ou dans une partie seulement;
- convertir des données stockées en n'importe quel
format en utilisant un ensemble de fonctions prédéfinies,
comme par exemple l'affichage de données stockées en
format BLOB en tant qu'image ou les liens de
téléchargement;
- gérer les tables InnoDB et les clés
étrangères (voir FAQ 3.6);
- gérer mysqli, l'extension améliorée de MySQL (voir FAQ 1.17);
- communiquer dans 50 langues
différentes.
Installation
- Installation rapide
- Script d'installation
- Infrastructure de tables liées
- Mise à jour
- Modes d'authentification
phpMyAdmin n'applique pas de
méthodes de sécurité spéciales au serveur
de données MySQL. Il appartient toujours à
l'administrateur système d'accorder les autorisations
adéquates sur les bases de données MySQL. La page
« Privilèges » de phpMyAdmin peut être
utilisée pour cela.
À l'attention des utilisateurs Mac :
Si vous utilisez une version Mac OS antérieure à
la version OS X, StuffIt se débrouille avec les formats Mac.
Vous devrez donc convertir, tout comme dans BBEdit, au format Unix TOUS
les scripts phpMyAdmin avant de les transférer sur votre
serveur, car PHP ne semble pas apprécier les caractères de fin de ligne au
format Mac (« \r »).
Installation rapide
- « Détarrez » (.tar) ou
« dézippez » (.zip) la distribution (assurez-vous de
conserver l'arborescence des sous-répertoires). Exécutez
ensuite la commande suivante : tar -xzvf phpMyAdmin_x.x.x.tar.gz
dans le répertoire document racine de votre serveur web. Si vous
n'avez pas d'accès direct à votre répertoire
racine document, mettez les fichiers dans un répertoire de votre
ordinateur local, et,
après l'étape 3, transférez le répertoire
sur votre serveur web en utilisant, par exemple, le protocole ftp.
- Assurez-vous que tous les scripts ont le propriétaire adéquat (si PHP
fonctionne en mode sécurisé, avoir des scripts avec un propriétaire
différent de celui des autres posera un problème).
Voir la section FAQ 4.2 et FAQ 1.26 pour des suggestions.
- Créez le fichier config.inc.php dans le répertoire principal (celui contenant
index.php). Vous pouvez utiliser le script d'installation
fourni dans scripts/setup.php pour créer
les paramètres basiques du fichier de configuration, ce qui est suffisant
pour la plupart des utilisateurs. Consultez le chapitre
Script d'installation pour les détails. si vous n'aimez pas le
script d'installation ou si vous voulez ajuster finement la configuration, ouvrez (ou créez si vous partez de rien)
le fichier config.inc.php dans votre éditeur
favori et renseignez les valeurs du serveur hôte, de l'utilisateur,
du mot de passe et du mode d'authentification pour vous ajuster
à votre environnement. Consultez le fichier libraries/config.default.php pour savoir
comment ces champs doivent être définis. Ici, « hôte » signifie le
serveur MySQL. Veuillez consulter la section Configuration pour
une explication de ces valeurs. Veuillez également lire la suite de cette section
Installation pour des informations sur les modes d'authentification et sur l'infrastructure
des tables liées.
- Si vous utilisez la configuration auth_type, nous vous recommandons de protéger
le répertoire dans lequel vous installez phpMyAdmin, car cette configuration ne nécessite
pas que l'utilisateur donne un mot de passe pour accéder au répertoire d'installation de
phpMyAdmin. Nous vous recommandons d'utiliser une méthode d'authentification alternative comme
par exemple avec HTTP–AUTH dans un fichier .htaccess ou utilisez la
méthode d'authentification par cookie ou http.
Consultez la sous-section
multi-utilisateurs de cette FAQ pour des informations supplémentaires et
particulièrement la partie FAQ 4.4.
- Ouvrir le fichier <www.votre-hôte.com>/<votre-répertoire-d'installation>/index.php
dans votre navigateur. phpMyAdmin devrait maintenant afficher un
écran de bienvenue et vos bases de données, ou une
boîte de dialogue de connexion si vous utilisez le mode HTTP ou
le mode authentification par cookie.
- Vous devrez interdire l'accès au sous-répertoire libraries
de votre serveur Web. Pour Apache, vous pouvez utiliser le fichier .htaccess fourni
dans ce dossier, pour les autres serveurs Web, vous devrez le configurer vous-même.
Une telle configuration empêche de possibles vulnérabilités de
« path exposure » et de « cross side scripting »
qui pourraient être découvertes dans le code.
Script d'installation
Depuis la version 2.8.0 de phpMyAdmin, un script d'installation est fourni qui peut
vous aider pour créer votre configuration. Ce script est situé dans le dossier scripts :
scripts/setup.php. Son utilisation est très simple.
Vous suivez les dialogues et le script prépare en mémoire les directives de configuration.
Vous avez alors deux possibilités pour enregistrer le fichier de configuration :
- Téléchargez-le sur votre ordinateur, puis copiez-le (par exemple avec
ftp) dans votre répertoire principal phpMyAdmin. Dans ce cas, vous n'avez pas besoin de
préparer un répertoire config spécial et aucune
autre action n'est nécessaire.
- Enregistrez le fichier sur votre serveur Web dans le répertoire config.
Pour enregistrer le fichier sur votre serveur Web ou pour charger une configuration
précédente, vous devez créer le répertoire config à la racine du répertoire
d'installation de phpMyAdmin et le rendre accessible en écriture pour le serveur Web. Pour charger une configuration
précédente, placez-le là (et assurez-vous que le serveur Web ait les droits d'écriture sur celui-ci).
Sur un serveur GNU/Linux ou Unix, vous pouvez utiliser les commandes suivantes :
cd phpMyAdmin
mkdir config # crée un répertoire pour l'enregistrement
chmod o+rw config # donne les droits d'écriture à tout le monde
# Si vous voulez modifier une configuration existante :
cp config.inc.php config/ # copie la configuration courante
chmod o+w config/config.inc.php # donne les droits d'écriture à tout le monde
Sur un système Windows, créez un sous-répertoire config dans le répertoire
principal de phpMyAdmin et assurez-vous que votre serveur Web a un accès en lecture/écriture sur celui-ci.
La section FAQ 1.26 peut vous être utile pour cela. Si vous avez déjà un fichier
config.inc.php existant dans votre répertoire principal, copiez-le dans le sous-répertoire
./config que vous venez de créer.
Ensuite, vous pouvez ouvrir le fichier ./scripts/setup.php dans votre navigateur et commencer
l'installation. Après avoir enregistré votre configuration, déplacez-là vers
le répertoire racine et supprimez le répertoire ./config.
N'oubliez pas d'enlever les droits d'écriture pour tout le monde sur le fichier config.inc.php !
chmod o-rw config.inc.php # supprime pour tout le monde (other) les droits
# de lecture et d'écriture
Veuillez noter que le script ne permet pas de tout configurer; vous aurez donc encore
à éditer manuellement le fichier de configuration pour avoir des fonctionnalités
supplémentaires.
Infrastructure des tables liées
Si vous voulez bénéficier de toute une série
de nouveautés (signets, commentaires,
historique SQL, génération de
PDF, transformation des
contenus de champ, etc.), vous devrez créer un ensemble de
tables spéciales. Ces tables peuvent se trouver dans votre propre base de
données, ou dans une base de données centrale pour une installation
multi-utilisateurs (cette base de données serait alors accée par le controluser,
aussi, aucun autre utilisateur ne devrait avoir de droits sur celle-ci).
Veuillez regarder dans votre
répertoire ./scripts/,
où vous devriez trouver un fichier
du nom de create_tables.sql.
(Si vous utilisez un serveur Windows, portez une attention
particulière à la partie FAQ 1.23).
Si la version de votre serveur MySQL est la 4.1.2 ou ultérieure, veuillez plutôt utiliser create_tables_mysql_4_1_2+.sql pour une nouvelle installation.
Si vous avez déjà cette infrastructure et mis à jour vers MySQL 4.1.2
ou ultérieur, veuillez utiliser le fichier upgrade_tables_mysql_4_1_2+.sql.
Vous pouvez d'ores et déjà utiliser phpMyAdmin qui
créera les tables pour vous.
S'il vous plaît, sachez que vous pouvez avoir besoin de
privilèges spéciaux (administrateur) pour créer la
base de données et les tables, et que le script peut avoir besoin de quelques
ajustements en fonction du nom de la base de données.
Après avoir importé le fichier create_tables.sql, vous devrez spécifier le
nom des tables dans votre fichier ./config.inc.php.
Vous trouverez les directives à utiliser pour cela dans la section Configuration.
Vous aurez également besoin d'un controluser avec les droits appropriés pour
ces tables (voir la section Utiliser les modes d'authentification ci-dessous).
Mise à jour :
Copiez seulement le fichier config.inc.php
de votre installation précédente dans votre nouvelle installation.
Si votre précédente version de phpMyAdmin était une version 2.3.0 ou
supérieure, quelques ajustements peuvent être nécessaires car, à
partir de la version 2.7.0, l'utilisation de ces vieux fichiers config n'est plus
supportée.
Vous ne devez pas copier libraries/config.default.php
par dessus config.inc.php car le fichier de configuration par défaut est
spécifique à chaque version.
Utiliser les modes d'authentification :
- Les modes d'authentification HTTP et par cookie sont
conseillés dans un environnement multi-utilisateurs
où vous ne voulez donner l'accès aux utilisateurs
qu'à leur propre base de données et où vous ne
voulez pas qu'ils jouent avec les autres bases.
Néanmoins, sachez que MS Internet Explorer paraît
être vraiment bogué en ce qui concerne les cookies, au
moins jusqu'à la version 6, et PHP 4.1.1 est également un
peu bogué dans ce domaine!
Même dans un environnement
mono-utilisateur, vous pourriez opter pour les modes HTTP
ou par cookie de sorte que votre paire utilisateur/mot de passe ne soit
pas écrite en clair dans le fichier de configuration.
- Les modes d'authentification HTTP et par cookie sont plus
sécurisés : les informations de connexion de MySQL n'ont pas besoin
d'être défini dans le fichier de configuration de
phpMyAdmin (excepté pour l'utilisateur de contrôle
« controluser » - voir la section controluser).
Quoi qu'il en soit, gardez à l'esprit que le mot de passe
transite en clair, à moins d'utiliser le protocole HTTPS.
En mode cookie, le mot de passe est stocké et chiffré
avec l'algorithme blowfish, dans un cookie temporaire.
- Note : À partir de la version 2.6.1 de phpMyAdmin, cette section ne s'applique qu'aux
serveurs MySQL supérieurs à la version 4.1.2 ou exécutés avec l'option
--skip-show-database.
Pour les modes HTTP et cookie, phpMyAdmin a besoin d'un
utilisateur de contrôle - « controluser » - ayant
seulement le privilège SELECT
sur les tables mysql.user
(toutes les colonnes sauf « Password »), mysql.db
(toutes les colonnes), mysql.host (toutes les colonnes)
et mysql.tables_priv (toutes les colonnes sauf « Grantor » et « Timestamp »).
Vous devez spécifier les détails pour le controluser dans le fichier config.inc.php dans la section paramètre $cfg['Servers'][$i]['controluser'] et $cfg['Servers'][$i]['controlpass'].
L'exemple suivant suppose que vous voulez utiliser « pma »
comme utilisateur de contrôle et « pmapass »
comme mot de passe, mais il ne s'agit que d'un exemple : utilisez
autre chose pour votre fichier ! Saisissez ces déclarations dans
une fenêtre de requête de phpMyAdmin ou en ligne de commande mysql.
Bien sûr, vous devrez remplacer localhost par le nom
d'hôte de votre serveur web si celui-ci n'est pas le même
que votre serveur MySQL.
GRANT USAGE ON mysql.* TO 'pma'@'localhost' IDENTIFIED BY 'pmapass';
GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv,
Show_db_priv, Super_priv, Create_tmp_table_priv, Lock_tables_priv,
Execute_priv, Repl_slave_priv, Repl_client_priv
)
ON mysql.user TO 'pma'@'localhost';
GRANT SELECT ON mysql.db TO 'pma'@'localhost';
GRANT SELECT ON mysql.host TO 'pma'@'localhost';
GRANT SELECT (Host, Db, User, Table_name, Table_priv, Column_priv)
ON mysql.tables_priv TO 'pma'@'localhost';
Si vous utilisez une ancienne version de MySQL (antérieure
à 4.0.2), veuillez remplacer la première requête
par celle-ci :
GRANT SELECT (
Host, User, Select_priv, Insert_priv, Update_priv, Delete_priv,
Create_priv, Drop_priv, Reload_priv, Shutdown_priv, Process_priv,
File_priv, Grant_priv, References_priv, Index_priv, Alter_priv
)
ON mysql.user TO 'pma'@'localhost';
… et si vous voulez utiliser les toutes nouvelles
caractéristiques de relation et de signets :
GRANT SELECT, INSERT, UPDATE, DELETE ON <pma_db>.* TO 'pma'@'localhost';
(ceci nécessite bien sûr que votre infrastructure de tables liées soit définie).
Évidemment, les requêtes ci-dessus ne fonctionnent que si
votre version de MySQL utilise la commande GRANT. C'est le cas depuis
la version 3.22.11.
- Ensuite, un ensemble de privilèges doit être
accordé à chaque utilisateur réel sur un
ensemble de bases définies. Normalement, vous ne devriez pas
donner de privilèges globaux à un utilisateur ordinaire,
à moins que vous ne sachiez ce que vous faites (par exemple, si
vous créez un super-utilisateur).
Par exemple, pour accorder à l'utilisateur utilisateur_réel
tous les privilèges sur la base base_utilisateur :
GRANT ALL PRIVILEGES ON base_utilisateur.* TO 'utilisateur_réel'@localhost IDENTIFIED BY 'vrai_mot_de_passe';
Ce que peut faire maintenant l'utilisateur est entièrement
contrôlé par le système de gestion d'utilisateurs
de MySQL.
Avec les modes d'authentification HTTP ou par cookie, vous n'avez pas
besoin de renseigner les champs utilisateur/mot de passe dans la partie $cfg['Servers'].
Mode d'authentification 'HTTP'
- Il utilise la méthode
d'authentification de base HTTP et vous autorise à vous
connecter en tant que n'importe quel utilisateur MySQL valide.
- Il est géré par la plupart des configurations PHP.
Pour la gestion IIS
(ISAPI) utilisant
PHP CGI, voir la section FAQ 1.32, pour utiliser
Apache CGI voir la section FAQ 1.35.
- Voir également la section FAQ 4.4
sur le fait de ne pas utiliser le mécanisme d'authentification .htaccess
en même temps que le mode d'authentification 'HTTP'.
Mode d'authentification 'cookie' :
- Vous pouvez utiliser cette méthode à la place de
l'authentification HTTP (par exemple si vous utiliser IIS).
- Bien sûr, l'utilisateur doit activer les cookies dans son
navigateur, mais c'est maintenant un prérequis pour tous les modes d'authentification.
- Avec ce mode, l'utilisateur peut
réellement se déconnecter de phpMyAdmin et se reconnecter
avec le même nom d'utilisateur.
- Si vous voulez vous connecter à un serveur arbitraire,
voir la directive $cfg['AllowArbitraryServer'].
- Comme il est indiqué dans la section Prérequis, l'extension
mycrypt accélère considérablement l'accès, mais il n'est pas obligatoire
de l'installer.
Mode d'authentification 'config'
- Ce mode est le moins sécurisé car il requiert de
remplir les champs $cfg['Servers'][$i]['user'] et
$cfg['Servers'][$i]['password']
(et par conséquent, quicoonque peut lire votre fichier config.inc.php peut
découvrir votre nom d'utilisateur et votre mot de passe.
Mais vous n'avez pas besoin de définir un utilisateur de
contrôle - « controluser » - ici :
l'utilisation de $cfg['Servers'][$i]['only_db'] s'avère
suffisante.
- Dans la section FAI de la FAQ, il y a un point expliquant comment protéger votre fichier de configuration.
- Pour une sécurité supplémentaire dans ce
mode, vous devriez considérer les directives de configuration de
l'authentification hôte $cfg['Servers'][$i]['AllowDeny']['order']
et $cfg['Servers'][$i]['AllowDeny']['rules'].
- Contrairement aux méthodes par cookie et http, il ne nécessite pas que l'utilisateur
s'authentifie lors du premier chargement du site phpMyAdmin. C'est prévu ainsi, mais cela
pourrait permettre à tout utilisateur d'accéder à votre installation.
L'utilisation d'une méthode de restriction est recommandée, peut-être avec
un fichier .htaccess avec la directive
HTTP-AUTH directive ou en interdisant les requêtes HTTP entrantes sur
le routeur ou le pare-feu suffisent (ces deux suggestions n'entrent pas dans les sujets abordés
dans ce manuel mais vous pouvez facilement trouver des informations sur ces sujets
avec Google).
Configuration
À l'attention des utilisateurs Mac :
PHP ne semble pas apprécier les caractères de fin de
ligne Mac (« \r »). Aussi, assurez-vous de choisir
l'option qui autorise l'utilisation des caractères de fin de
ligne *nix (« \n ») dans votre éditeur de
texte avant d'enregistrer un script que vous avez modifié.
Note sur la configuration :
Presque toutes les données de configuration sont placées dans config.inc.php.
Si ce fichier n'existe pas, veuillez vous rapporter à la section Installation rapide
pour en créer un. Ce fichier ne nécessite de contenir que les paramètres dont vous
voudriez changer la valeur par défaut dans le fichier libraries/config.default.php.
Les paramètres relatifs à la conception (comme les couleurs), se trouvent dans
themes/themename/layout.inc.php.
Vous pouvez également créer les fichiers config.footer.inc.php et
config.header.inc.php pour ajouter à votre site du code spécifique à
inclure en en-tête et en pied de chaque page.
- $cfg['PmaAbsoluteUri'] chaîne
- Définissez ici l'URL complète (avec le chemin
d'accès complet) du répertoire d'installation de votre phpMyAdmin.
C'est-à-dire http://www.votre_site.net/chemin_d_acces_avotre_repertoire_phpMyAdmin/.
Veuillez noter également que l'URL
sur certains serveurs Web est sensible à la casse.
N'oubliez pas le slash (« / ») final pour votre URL.
À partir de la version 2.3.0, il est conseillé d'essayer de laisser ce
paramètre à blanc. Dans la plupart des cas, phpMyAdmin détecte automatiquement
le paramètre approprié. Les utilisateurs de « port forwarding »
devront définir PmaAbsoluteUri
(plus de renseignements ici).
Un bon test est de naviguer dans une table, d'éditer une ligne et de l'enregistrer. Vous devriez
obtenir un message d'erreur si phpMyAdmin rencontre des problèmes pour détecter automatiquement
la bonne valeur. Si vous obtenez une erreur indiquant que ce paramètre doit être défini
ou que le code d'auto-détection échoue à trouver le chemin d'accès,
veuillez poster un rapport de bogue sur notre traqueur de bogues pour que nous
améliorions le code.
- $cfg['PmaNoRelation_DisableWarning'] booléen
- À partir de la version 2.3.0 phpMyAdmin offre beaucoup de
fonctionnalités pour travailler avec les tables maîtres /
de référence (voir $cfg['Servers'][$i]['pmadb']).
Si vous essayez de le paramétrer et qu'il ne fonctionne pas pour
vous, regardez la page « Structure » d'une base de
données
où vous voudriez l'utiliser.
Vous trouverez alors un lien qui analysera pourquoi ces
fonctionnalités ont été désactivées.
Si vous ne voulez pas utiliser ces fonctionnalités, mettez cette
variable à TRUE pour empêcher ce message d'apparaître.
- $cfg['blowfish_secret'] chaîne
- La méthode
d'authentification par « cookie » utilise l'algorithme blowfish pour
chiffrer le mot de passe.
Si vous utilisez la méthode d'authentification par 'cookie',
entrez ici une phrase aléatoire de votre choix.
Elle sera utilisée de manière interne par l'algorithme blowfish :
cette phrase mot de passe ne vous sera pas demandée. Le nombre
maximum de caractères pour ce paramètre semble être 46.
- $cfg['Servers'] tableau
- Depuis la version 1.4.2, phpMyAdmin gère l'administration
de plusieurs serveurs MySQL. Par conséquent, un tableau
$cfg['Servers'] a été ajouté qui contient les
informations de connexions pour les différents serveurs.
Le premier $cfg['Servers'][$i]['host'] contient le nom
d'hôte du premier serveur, le second $cfg['Servers'][$i]['host']
le nom d'hôte du second serveur, etc.
Dans le fichier libraries/config.default.php, il n'y a qu'une section pour la définition
du serveur, cependant vous pouvez en mettre autant que vous le voulez dans le fichier
config.inc.php; copier ce bloc ou d'autres parties nécessaires (il n'est pas utile
de définir tous les paramètres, seulement ceux que vous avez besoin de changer).
- $cfg['Servers'][$i]['host'] chaîne
- Le nom d'hôte ou l'adresse IP de votre $i-ème
serveur MySQL. C'est-à-dire localhost.
- $cfg['Servers'][$i]['port'] chaîne
- Le numéro de port de votre $i-ème serveur MySQL.
Par défaut : 3306
(laissez à blanc pour utiliser la valeur par défaut). Si
vous utilisez « localhost » comme nom d'hôte, MySQL
ignore ce numéro de port et se connecte avec le socket, donc, si
vous voulez vous connecter avec un port différent de celui par
défaut, utilisez « 127.0.0.1 » ou le nom d'hôte réel
dans $cfg['Servers'][$i]['host'].
- $cfg['Servers'][$i]['socket'] chaîne
- Le chemin d'accès vers le socket à utiliser.
Laissez à blanc pour utiliser la valeur par défaut.
Pour déterminer le bon socket, vérifiez votre configuration MySQL ou, en utilisant la
ligne de commande mysql, utilisez la commande status.
Parmi les informations affichées se trouvera le socket utilisé.
- $cfg['Servers'][$i]['connect_type'] chaîne
- Quel type de connexion utiliser avec le serveur MySQL. Vos choix
sont 'socket' et 'tcp'. Par défaut, c'est
'tcp' parce qu'il est pratiquement sûr qu'il est disponible sur
tous les serveurs MySQL, alors que les sockets ne sont pas
gérés sur certaines plateformes.
Pour utiliser le mode socket, votre serveur MySQL doit être sur
la même machine que le serveur Web.
- $cfg['Servers'][$i]['extension'] chaîne
- Définit l'extension php MySQL utilisée pour la connexion. Les
options autorisées sont :
mysql : L'extension MySQL classique.
C'est l'option recommandée et par défaut à ce
jour.
mysqli : L'extension MySQL
améliorée.
Cette extension devient disponible avec php version 5.0.0, et
recommandée pour se connecter sur un serveur exécutant
MySQL version 4.1.x.
- $cfg['Servers'][$i]['compress'] booléen
- Pour utiliser ou non un protocole compressé pour la
connexion au serveur MySQL (expérimental).
Cette fonctionnalité requiert PHP version 4.3.0 ou ultérieure.
-
$cfg['Servers'][$i]['controluser'] chaîne
$cfg['Servers'][$i]['controlpass'] chaîne
- Ce compte spécial est utilisé pour deux propos
distincts : rendre possible toutes les fonctionnalités relationnelles
(voir $cfg['Servers'][$i]['pmadb']) et, pour un serveur
MySQL de version supérieure à 4.1.2 ou exécuté avec l'option
--skip-show-database, permettre une installation multi-utilisateurs (mode
d'authentification HTTP ou par cookie).
Si vous utilisez les modes d'authentification HTTP ou par cookie (ou le
mode d'authentification 'config' depuis phpMyAdmin 2.2.1), vous devez
fournir des informations sur un compte MySQL qui a un privilège SELECT
sur les tables mysql.user
(toutes les colonnes sauf « Password »), mysql.db
(toutes les colonnes)
et mysql.tables_priv (toutes les colonnes sauf
« Grantor » et « Timestamp »). Ce compte est
utilisé pour vérifier quelles bases de données
l'utilisateur pourra voir à la connexion.
Veuillez consulter la section Installation sur
« Utiliser les modes d'authentification » pour plus de
renseignements.
Dans les versions de phpMyAdmin antérieures à la version 2.2.5, ils
étaient appelés « stduser/stdpass ».
- $cfg['Servers'][$i]['auth_type'] chaîne
['HTTP'|'cookie'|'config']
- Définit le mode d'authentification config, cookie ou HTTP
qui sera utilisé sur le serveur.
- l'authentification 'config' ($auth_type = 'config')
est la bonne vieille méthode : nom d'utilisateur et mot de passe
sont stockés dans config.inc.php.
- le mode d'authentification 'cookie' ($auth_type = 'cookie')
tel qu'introduit dans la version 2.2.3 vous permet de vous connecter
comme n'importe quel utilisateur MySQL valide à l'aide de
cookies. Les nom et mot de passe de connexion sont stockés dans
des cookies pendant la session et le mot de passe est effacé
à la fin de la session. Ceci vous permet également de
vous connecter à un serveur arbitraire si $cfg['AllowArbitraryServer']
est activé.
- le mode authentification 'HTTP' ( appelé
« avancé » dans les précédentes versions)
($auth_type = 'HTTP')
tel qu'introduit dans la version 1.3.0 vous permet de vous connecter
comme n'importe utilisateur MySQL valide via HTTP-Auth.
Veuillez consulter la section Installation sur
« Utiliser les modes d'authentification » pour plus de renseignements.
-
$cfg['Servers'][$i]['user'] chaîne
$cfg['Servers'][$i]['password'] chaîne
- En utilisant auth_type = 'config', c'est la paire utilisateur/mot de passe qu'utilisera phpMyAdmin pour se
connecter au serveur MySQL. Cette paire utilisateur/mot de passe
n'est pas nécessaire quand les modes d'authentification
HTTP ou cookie sont utilisés, et doit rester vide.
-
$cfg['Servers'][$i]['nopassword'] boolean
- Permet d'essayer de se connecter sans mot de passe quand la connexion avec mot de passe a
échoué. Ceci peut être utilisé en conjonction avec l'authentification
HTTP, quand l'authentification est faite par d'autres
moyens et que phpMyAdmin obtient le nom d'utilisateur à partir de
auth et utilise un mot de passe « vide » pour se connecter à MySQL. La connexion
par mot de passe est d'abord essayée, mais ensuite, en moyen de secours, aucune méthode par mot
de passe n'est essayée.
-
$cfg['Servers'][$i]['only_db'] chaîne ou tableau
- S'il est indiqué un nom de base de données (ou un
tableau de noms de bases de données) , seule(s) cette (ces) base(s)
sera (seront) affichée(s) à l'utilisateur. Depuis la
version 2.2.1 de phpMyAdmin,
ce(s) nom(s) de base(s) de données peuvent contenir des
méta-caractères MySQL (« _ » et
« % ») : si vous voulez utiliser des instances
littérales de ces caractères, utilisez des
séquences d'échappement (c'est-à-dire
écrivez 'ma\_bdd' et pas 'ma_bdd').
Ce paramétrage est un moyen efficace de diminuer la charge du
serveur puisque ce dernier n'a pas besoin d'envoyer des requêtes
MySQL pour construire la liste des bases de données disponibles.
Mais cela ne remplacera pas les règles de privilèges sur
le serveur de base de données MySQL.
S'il est utilisé, cela signifie seulement que seules ces bases
de données seront affichées, mais pas que toutes les
autres bases de données ne pourront pas être
utilisées.
Un exemple d'utilisation de plus d'une base de données : $cfg['Servers'][$i]['only_db']
= array('bdd1', 'bdd2');
Comme dans phpMyAdmin 2.5.5, l'ordre à l'intérieur du
tableau est utilisé pour trier les bases de données dans
le cadre de gauche, de la sorte, vous pouvez ordonner vos bases de
données comme bon vous semble.
Si vous voulez avoir certaines bases de données en haut de page,
et que peu importe l'ordre des autres bases, vous n'avez pas besoin de
spécifier toutes les autres bases. Utilisez : $cfg['Servers'][$i]['only_db']
= array('bdd3', 'bdd4', '*'); plutôt que de dire à
phpMyAdmin qu'il doit afficher bdd3 et bdd4 en haut, et le reste en
ordre alphabétique.
- $cfg['Servers'][$i]['hide_db'] chaîne
- Expression régulière pour masquer certaines bases. Ceci ne les masque que pour le listage,
l'utilisateur est toujours capable d'y accéder (en utilisant par exemple
la zone de requête SQL). Pour limiter l'accès, utiliser le système de
privilège de MySQL.
Par exemple, pour masquer toutes les bases de données commençant par la lettre
« a », utilisez
$cfg['Servers'][$i]['hide_db'] = '^a';
et pour masquer les bases de données « db1 » et
« db2 », utilisez
$cfg['Servers'][$i]['hide_db'] = '(db1|db2)';
Vous pourrez trouver plus d'informations sur les expressions régulières dans la
section
syntaxe de motif PCRE dans le manuel de référence de PHP.
- $cfg['Servers'][$i]['verbose'] chaîne
- Seulement utile si vous utilisez phpMyAdmin avec plusieurs
entrées de serveurs.
Si elle est définie, cette chaîne sera affichée
à la place du nom d'hôte dans le menu déroulant de
la page principale. Cela peut être utile si vous ne voulez
montrer que certaines bases de données sur votre système,par exemple.
-
$cfg['Servers'][$i]['pmadb'] chaîne
- Définit le nom de la base de données contenant l'infrastructure
des tables liées.
Voir la section Infrastructure des tables liées
dans ce document pour voir les avantages de cette infrastructure,
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 l'infrastructure
des tables liées.
-
$cfg['Servers'][$i]['bookmarktable'] chaîne
- Depuis la version 2.2.0, phpMyAdmin permet aux utilisateurs la mise en signets
(favoris) des requêtes. Cela peut être utile
pour les requêtes que vous utilisez souvent.
Pour pouvoir utiliser cette fonctionnalité :
- définir pmadb et l'infrastructure des tables liées
- saisir le nom de la table dans $cfg['Servers'][$i]['bookmarktable']
-
$cfg['Servers'][$i]['relation'] chaîne
- Depuis la version 2.2.4, vous pouvez décrire, dans une
table spéciale « relation », quel champ est une clé pour
une autre table (une clé étrangère).
phpMyAdmin utilise actuellement cela pour :
- rendre cliquable, quand vous affichez la table maître,
les valeurs des données qui pointent vers une table
étrangère;
- afficher dans une info-bulle le champ d'affichage
(« display field ») en affichant la table maître, si
vous déplacez la souris dans une colonne contenant une
clé étrangère (utilise également la table
'table_info');
(voir la section FAQ 6.7)
- en mode modification/insertion, afficher une liste
déroulante des clés étrangères disponibles
(la valeur de la clé et le champ d'affichage sont
indiqués)
(voir la section FAQ 6.21)
- afficher les liens dans la page de propriétés
de la table, pour vérifier l'intégrité
référentielle (affiche les clés
étrangères manquantes) pour chaque clé
décrite;
- dans Query-by-example, créer des jointures
automatiques (voir la section FAQ 6.6)
- vous permettre d'obtenir un schéma PDF de votre base
de données (utilise également la table table_coords).
Les clés peuvent être numériques ou
alphanumériques.
Pour permettre l'utilisation de cette fonctionnalité :
- pmadb et l'infrastructure des tables liées
- 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 voir apparaître
cette fonctionnalité, cliquer sur « Structure/Gestion des
relations/ » et choisir les champs étrangers.
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'] chaîne
- Depuis la version 2.3.0, vous pouvez décrire dans une
table spéciale « table_info », quel champ doit être
affiché comme info-bulle en déplaçant le curseur
sur la clé correspondante.
Cette variable de configuration détient le nom de cette table
spéciale.
Pour pouvoir utiliser cette fonctionnalité :
- pmadb et l'infrastructure des tables liées
- mettre le nom de la table dans $cfg['Servers'][$i]['table_info']
- ensuite, pour chaque table pour laquelle vous voulez utiliser
cette fonctionnalité,
cliquer sur « Structure/Gestion des relations/Champ à
afficher » pour choisir le champ.
Astuce d'utilisation : Champ à afficher.
-
$cfg['Servers'][$i]['table_coords'] chaîne
$cfg['Servers'][$i]['pdf_pages'] chaîne
- Depuis la version 2.3.0, phpMyAdmin peut créer des pages
PDF montrant les relations entre vos tables. Pour ce faire, il a besoin
de deux tables « pdf_pages » (qui stocke les informations sur
les pages PDF disponibles)
et « table_coords » (qui stocke les coordonnées
où chaque table sera placée sur le schéma PDF
réalisé).
Vous devez utiliser la fonctionnalité « relation ».
Pour pouvoir utiliser cette fonctionnalité :
- pmadb et l'infrastructure des tables liées
- mettre les noms corrects de tables dans $cfg['Servers'][$i]['table_coords']
et $cfg['Servers'][$i]['pdf_pages']
Astuce d'utilisation : Réalisation de PDF.
-
$cfg['Servers'][$i]['column_info'] chaîne
- Depuis la version
2.3.0, vous pouvez stocker des commentaires pour décrire chaque
colonne de chaque table. Ils seront alors visibles dans
« Version imprimable ».
À partir de la version 2.5.0, les commentaires sont par
conséquent utilisés dans les pages de
propriété de table et dans la vue afficher la table,
apparaissant sous forme d'info-bulle au-dessus du nom de colonne (page
propriétés) ou intégrés dans
l'en-tête de la vue parcours de table. Ils peuvent aussi
être vus dans un fichier d'exportation de table. Veuillez
consulter les directives de configuration adéquates plus loin.
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'.
Pour autoriser l'utilisation de cette fonctionnalité :
-
$cfg['Servers'][$i]['history'] chaîne
- Depuis la version 2.5.0, vous pouvez stocker votre historique
SQL, ce qui signifie toutes les requêtes que vous saisissez
manuellement dans l'interface de phpMyAdmin. Si vous ne voulez pas
utiliser un historique stocké dans une table, vous pouvez
choisir un historique utilisant JavaScript. En utilisant JavaScript,
toutes les entrées de votre historique seront perdues en fermant
la fenêtre.
En utilisant $cfg['QueryHistoryMax'], vous pouvez
spécifier le nombre d'entrées de l'historique que vous
voulez conserver. À chaque connexion, cette liste est
réduite au nombre maximum d'entrées.
La requête historique n'est disponible que si JavaScript est activé dans votre navigateur.
Pour autoriser l'utilisation de cette fonctionnalité :
- pmadb et l'infrastructure des tables liées
- mettre le nom de la table dans $cfg['Servers'][$i]['history']
- $cfg['Servers'][$i]['verbose_check'] booléen
- La version 2.5.0 introduisant la nouvelle gestion de la
conversion MIME, la colonne column_info recense maintenant trois
nouveaux champs. Si cette variable est définie à TRUE
(par défaut) phpMyAdmin vérifiera si vous disposez de la
dernière structure disponible de la table. Si ce n'est pas le
cas, il enverra un avertissement au super-utilisateur.
Vous pouvez désactiver cette fonctionalité en
positionnant la variable à FALSE, ce qui améliorerait les performances.
Il est recommandé de la positionner à FALSE, quand vous
êtes sûr que votre structure est à jour.
- $cfg['Servers'][$i]['AllowRoot'] booléen
- Autoriser ou non un accès à la racine. Il s'agit seulement d'une simplification des règles ci-dessous.
-
$cfg['Servers'][$i]['AllowDeny']['order'] chaîne
- Si votre règle « order » est vide, alors
l'authentification 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'ordres.
-
$cfg['Servers'][$i]['AllowDeny']['rules'] tableau de chaînes
- Le format général des règles est le suivant :
<'allow' | 'deny'><username> ['from'] <ipmask>
Si vous voulez que cela concerne tous les utilisateurs, il est possible
d'utiliser un symbole '%'
comme méta-caractère dans le champ username.
Il y a quelques raccourcis que vous pouvez utiliser pour le champ ipmask
(veuillez noter que les adressages ADDRESSE_SERVER pourraient ne pas être disponibles
sur tous les serveurs Web) :
'Tout' -> 0.0.0.0/0
'Hôte local' -> 127.0.0.1/8
'Réseau local de classe A' -> ADDRESSE_SERVER/8
'Réseau local de classe B' -> ADDRESSE_SERVER/16
'Réseau local de classe C' -> ADDRESSE_SERVER/24
Avoir une liste de règles vide est équivalent à
l'utilisation de 'allow %
from all' si l'ordre de votre règle est définie
à 'deny,allow' ou 'deny
% from all' si l'ordre de votre règle est définie
à 'allow,deny' ou 'explicit'.
Pour le système de concordance IP, ce qui suit fonctionne :
xxx.xxx.xxx.xxx (une adresse IP exacte)
xxx.xxx.xxx.['yyy-zzz'] (une plage d'adresses IP)
xxx.xxx.xxx.xxx/nn (CIDR, adresses IP de type Classless
Inter-Domain Routing -- routage inter-domaine sans classe)
Mais ce qui suit ne fonctionne pas :
xxx.xxx.xxx.xx['yyy-zzz'] (plage partielle d'adresses IP )
- $cfg['ServerDefault'] entier
- Si vous avez plus d'un serveur, vous pouvez définir $cfg['ServerDefault']
sur n'importe lequel d'entre eux pour s'auto-connecter sur celui-ci
quand phpMyAdmin est démarré, ou le définir
à 0 sur tous les serveurs pour avoir une liste de serveurs
auxquels se connecter.
Si vous n'avez qu'un seul serveur, $cfg['ServerDefault']
DOIT être défini sur ce serveur.
- $cfg['OBGzip'] chaîne/booléen
- Définit si l'on utilise la mise en cache des sorties
(output buffering) GZip
pour accroître la vitesse des transferts HTTP.
Mettre à true/false pour activer/désactiver. Quand
défini sur 'auto' (chaîne),
phpMyAdmin essaie d'activer la mise en cache des sorties et la
désactivera automatiquement si votre navigateur a des
problèmes avec la mise en cache. IE6, avec un certain correctif,
est connu pour provoquer une corruption de données en ayant la
mise en cache activée.
- $cfg['PersistentConnections'] booléen
- Définit si les connexions persistantes doivent être
utilisées (mysql_connect ou mysql_pconnect).
- $cfg['ForceSSL'] booléen
- Pour forcer ou pas l'utilisation de https lors de l'accès à phpMyAdmin.
- $cfg['ExecTimeLimit'] entier ['nombre de secondes']
- Définit le nombre de secondes allouées à un
script pour s'exécuter. Si le nombre de secondes est
défini à zéro, aucune limite de temps n'est
imposée.
Ce paramètre est utilisé lors de
l'importation/exportation de fichiers de base mais n'a pas d'effet
quand PHP est exécuté en mode sécurisé.
- $cfg['MemoryLimit'] entier ['nombre d'octets']
- Définit le nombre d'octets q'un script est autorisé à allouer. Si ce nombre
est défini à zéro, aucune limite n'est imposée.
Ce paramètre est utilisé lors de l'importation/exportation de fichiers dump mais 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'.
- $cfg['SkipLockedTables'] booléen
- Marque les tables utilisées et permet de montrer les bases
de données avec des tables verrouillées (depuis la version MySQL 3.23.30).
- $cfg['ShowSQL'] booléen
- Définit si les requêtes SQL
générées par phpMyAdmin doivent être affichées.
- $cfg['AllowUserDropDatabase'] booléen
- Définit si les utilisateurs lamda (non administrateur)
sont autorisés à supprimer leur propre base de
données. S'il est défini à FALSE, le lien
« Supprimer la base … » ne sera pas visible,
et même la commande « DROP DATABASE
ma_base_de_donnees » sera rejetée. Très pratique
pour un FAI avec beaucoup de clients.
Veuillez noter que cette limitation des requêtes SQL
n'est pas aussi stricte en utilisant les privilèges MySQL. Cela est dû à la nature
des requêtes SQL qui peuvent être très
compliquées. Aussi, ce choix doit être vu comme une aide pour éviter une suppression
accidentelle plutôt qu'une limitation de privilèges stricte.
- $cfg['Confirm'] booléen
- Définit si un avertissement (« Êtes-vous
vraiment sûr… ») doit être affiché quand vous
êtes sur le point de perdre des données.
- $cfg['LoginCookieRecall'] booléen
- Définit si le compte de connexion précédent
doit être rappelé en mode d'authentification par cookie.
- $cfg['LoginCookieValidity'] entier ['nombre de secondes']
- Définit la durée de validité d'un cookie de connexion.
- $cfg['LoginCookieStore'] entier ['nombre de secondes']
- Définit la durée de stockage d'un cookie de connexion dans votre navigateur.
Par défaut, 0 signifie qu'il sera conservé pour la session en cours. Ceci est
recommandé pour les environnements non sécurisés.
- $cfg['LoginCookieDeleteAll'] booléen
- Si activé (par défaut), la déconnexion supprime les cookies
pour tous les serveurs, sinon seulement pour le serveur en cours. Définir ce paramètre
à false permet d'oublier plus facilement de se déconnecter des autres
des autres serveurs quand vous en utilisez plusieurs.
- $cfg['UseDbSearch'] booléen
- Définit si « rechercher une chaîne dans la base
de données » est activé.
- $cfg['IgnoreMultiSubmitErrors'] booléen
- Définit si phpMyAdmin continuera à exécuter
une requête multiple si l'une d'elles échoue. Par
défaut, l'exécution de la requête multiple sera
arrêtée.
- $cfg['VerboseMultiSubmit'] booléen
- Définit si phpMyAdmin affichera les résultats de
chaque requête d'une requête multiple
intégrés dans le fichier journal SQL en tant que
commentaires insérés. Défini par défaut
à TRUE.
-
$cfg['AllowArbitraryServer'] booléen
- Si ce paramètre est activé, il vous permet de vous connecter à des serveurs arbitraires en utilisant
l'authentification par cookie.
REMARQUE : Veuillez utiliser ce paramètre avec
précaution, car il peut permettre aux utilisateurs d'accéder aux
serveurs MySQL placés derrière votre pare-feu où votre
serveur HTTP est situé.
- $cfg['LeftFrameLight'] booléen
- Définit si on utilise un menu construit par
sélection et si on affiche seulement les tables en cours dans le
cadre de gauche (page plus réduite). Vous ne pouvez utiliser la
fonctionnalité d'affichage des dossiers imbriqués en
utilisant $cfg['LeftFrameTableSeparator']
qu'en mode non allégé.
- $cfg['LeftFrameDBTree'] booléen
- En mode allégé, définit si l'affichage des noms de bases de données (dans le
sélecteur) se fait en utilisant un arbre, voir également
$cfg['LeftFrameDBSeparator'].
- $cfg['LeftFrameDBSeparator'] chaîne
- La chaîne est utilisée pour séparer les parties du nom de
la base de données lors de leur affichage dans un arbre.
- $cfg['LeftFrameTableSeparator'] chaîne
- Définit une chaîne à utiliser pour les
espaces de table imbriquée. Défini par défaut
à '__'. Ceci signifie que si vous avez des tables telles que
'première__seconde__troisième' elles seront
affichées comme une hiérarchie à trois niveaux
telle que : premier > seconde >
troisième. Si défini à FALSE ou vide, la
fonctionnalité est désactivée. REMARQUE : vous ne
devez pas utiliser ce séparateur dans un nom de table
comme préfixe ou suffixe, ou plusieurs fois
consécutivement à l'intérieur du nom de la table.
- $cfg['LeftFrameTableLevel'] chaîne
- Définit le nombre de sous-niveaux qui doivent être
affichés quand les tables sont subdivisées par le
séparateur ci-dessus.
- $cfg['ShowTooltip'] booléen
- Définit si un commentaire de table est affiché
comme info-bulle dans le cadre de gauche.
- $cfg['ShowTooltipAliasDB'] booléen
- Si les info-bulles sont activées et qu'un commentaire de
base de données est défini, cela affichera le commentaire
et le nom réel de la table. Cela signifie que si vous avez une
table appelée 'user0001' et que vous y ajoutiez le commentaire 'MonNom', vous verrez
donc le nom 'MonNom' utilisé dans le cadre de gauche et l'info-bulle
affichera le vrai nom de la base de données.
- $cfg['ShowTooltipAliasTB'] booléen
- Identique à $cfg['ShowTooltipAliasDB'],
sauf qu'il fonctionne pour les noms de tables.
Quand il est défini à 'nested', l'alias du nom de table est seulement utilisé
pour diviser/imbriquer les tables selon la directive
$cfg['LeftFrameTableSeparator'].
Donc, seul le dossier est appelé comme l'alias, le nom de la table elle-même
demeure le vrai nom de la table.
- $cfg['LeftDisplayLogo'] booléen
- Définit si le logo de phpMyAdmin est affiché
en haut, dans le cadre de gauche. Défini par défaut à TRUE.
- $cfg['LeftLogoLink'] chaîne
- Saisissez l'URL vers laquelle le logo du panneau de gauche pointera. À utiliser notamment
pour les thèmes personnalisés qui changent cela.
- $cfg['LeftDisplayServers'] booléen
- Définit si un choix de serveur est proposé
en haut, dans le cadre de gauche. Défini par défaut à FALSE.
- $cfg['DisplayServersList'] booléen
- Définit si ce choix de serveur est affiché sous forme de liens ou de liste déroulante.
Défini par défaut à FALSE (liste déroulante).
- $cfg['ShowStats'] booléen
- Définit si on affiche l'espace disque utilisé
et les statistiques sur les bases de données et les tables.
Les statistiques nécessitent au moins la version 3.23.3 de MySQL
3.23.3 et, à ce jour, MySQL ne fournit pas de telles
informations pour les tables de base de données Berkeley.
- $cfg['ShowPhpInfo'] booléen
$cfg['ShowChgPassword'] booléen
$cfg['ShowCreateDb'] booléen
- Définit si on affiche les liens « Afficher les informations relatives à PHP » et
« Modifier le mot de passe » ou le formulaire de crétion de base de données
dans le cadre principal (de droite) de
démarrage. Ce paramètre ne vérifie pas les commandes MySQL entrées directement.
Veuillez noter que pour empêcher l'utilisation de phpinfo() dans
les scripts, vous devez mettre ceci dans votre fichier
php.ini :
disable_functions = phpinfo()
Veuillez également noter qu'activer le lien « Modifier le
mot de passe » n'a pas d'effet utilisé avec le mode
d'authentification « config »: parce que le mot de passe est
codé dans le fichier de configuration, les utilisateurs finaux
ne sont pas autorisés à changer leur mot de passe.
- $cfg['SuggestDBName'] booléen
- Définit si un nom de base de données doit
être suggéré dans le formulaire « Créer
une base de données » ou si le champ est laissé vide.
- $cfg['ShowBlob'] booléen
- Définit si les champs BLOB sont affichés
en naviguant dans le contenu d'une base.
- $cfg['NavigationBarIconic'] chaîne
- Définit si les boutons de la barre de navigation et le menu supérieur du panneau de droite affichent
le texte ou les icônes seulement. La valeur TRUE affiche les icônes, FALSE affiche seulement le texte et 'both'
affiche le texte et les icônes.
- $cfg['ShowAll'] booléen
- Définit si un utilisateur peut avoir un bouton
« Tout afficher » en mode « Afficher ».
- $cfg['MaxRows'] entier
- Nombre de colonnes affichées lors de la navigation sur un
ensemble de résultats. Si le nombre des colonnes est
supérieur, des liens « Suivant » et « Précédent »
seront affichés.
- $cfg['Order'] chaîne ['DESC|ASC|SMART']
- Définit si les champs sont affichés en ordre
croissant (ASC), décroissant (DESC) ou en ordre
« intelligent » (SMART) - c'est-à-dire en
ordre décroissant pour les champs de type TIME, DATE, DATETIME
& TIMESTAMP et croissant pour les autres - par défaut.
- $cfg['ProtectBinary'] booléen ou chaîne
- Définit si les champs BLOB ou BINARY
sont protégés lors de l'affichage du contenu d'une
table. Les valeurs permises sont :
- FALSE pour permettre la modification de tous les champs;
- blob pour permettre la modification de tous les champs sauf les champs BLOBS;
- all pour interdire la modification des champs BINARY ou BLOB.
- $cfg['ShowFunctionFields'] booléen
- Définit si les champs des fonctions MySQL doivent
être affichés en mode modification/insertion.
- $cfg['CharEditing'] chaîne
- Définit quels types de contrôles d'édition
doivent être utilisés pour les champs CHAR et VARCHAR. Les
valeurs permises sont :
- input - ceci permet de limiter la taille du texte en
fonction de la taille du champ dans MySQL, mais il y a des
problèmes avec les caractères « newline » dans
les champs
- textarea - aucun problème avec les caractères
« newline », mais ne permet pas de limitation de taille
Par défaut, l'ancien comportement est utilisé, c'est-à-dire input.
- $cfg['InsertRows'] entier
- Définit le nombre maximum d'entrées simultanées pour la page Insertion.
- $cfg['ForeignKeyMaxLimit'] entier
- S'il y a moins d'éléments que ce nombre dans le jeu de clés étrangères, alors un
menu déroulant des clés étrangères est proposé, avec le style décrit
dans le paramètre $cfg['ForeignKeyDropdownOrder'].
- $cfg['ForeignKeyDropdownOrder'] tableau
- Il y a plusieurs méthodes d'affichage pour les champs du menu déroulant des clés étrangères,
proposant la clé et sa valeur. Le tableau doit contenir une ou les deux valeurs suivantes :
'content-id', 'id-content'.
- $cfg['ZipDump'] booléen
$cfg['GZipDump'] booléen
$cfg['BZipDump'] booléen
- Définit si on utilise la compression zip/GZip/BZip2 lors
de la création de fichiers d'exportation.
- $cfg['CompressOnFly'] booléen
- Définit si on autorise la compression à la
volée pour des exportations au formats GZip/BZip2. Ceci
n'affecte pas les plus petites exportations et permet aux utilisateurs d'en créer
de plus grandes, qui sans cela, ne tiendraient pas en mémoire,
à cause de la limitation mémoire de php. Produit des
fichiers contenant plus d'en-têtes GZip/BZip2, mais tous les
programmes courants les manipulent correctement.
- $cfg['LightTabs'] chaîne
- Si défini à TRUE, utilise des onglets graphiquement
moins consommateurs pour l'unité centrale.
- $cfg['PropertiesIconic'] chaîne
- Si défini à TRUE, affichera des icônes au
lieu d'un texte pour les liens de propriétés des bases de
données et des tables (comme 'Afficher', 'Sélectionner',
'Insérer', …).
Peut être paramétré à 'both' si vous voulez
les icônes et le texte.
Quand il est défini à FALSE, n'affiche que le texte.
- $cfg['PropertiesNumColumns'] entier
- Définit le nombre de colonnes qui seront utilisées
pour afficher les tables dans la vue propriété de la base
de données. Par défaut, une colonne. En
définissant cette variable à une valeur supérieure
à un, le type de la base de données sera omis pour offrir
plus de place pour l'affichage.
- $cfg['DefaultTabServer'] chaîne
- Définit l'onglet affiché par défaut dans la
vue serveur. Les valeurs autorisées sont :
« main.php » (recommandé pour les configurations
multi-utilisateurs),
« server_databases.php », « server_status.php »,
« server_variables.php »,
« server_privileges.php » ou
« server_processlist.php ».
- $cfg['DefaultTabDatabase'] chaîne
- Définit l'onglet affiché par défaut pour la
vue base de données. Les valeurs autorisées sont :
« db_details_structure.php », « db_details.php » ou « db_search.php ».
- $cfg['DefaultTabTable'] chaîne
- Définit l'onglet affiché par défaut dans la
vue table. Les valeurs autorisées sont :
« tbl_properties_structure.php »,
« tbl_properties.php », « tbl_select.php »,
« tbl_change.php » ou « sql.php ».
- $cfg['MySQLManualBase'] chaîne
- Si défini sur une URL qui pointe vers la documentation de
MySQL (le type dépend de $cfg['MySQLManualType']), les liens d'aide
appropriés sont générés.
Voir la Page de documentation MySQL pour plus de renseignements sur les manuels
de MySQL et leurs types.
- $cfg['MySQLManualType'] chaîne
- Type de documentation MySQL :
- viewable - « consultable en ligne », utilisé actuellement sur le site Web de MySQL
- searchable - « Recherche, avec commentaires des utilisateurs »
- chapters - « HTML, une page par chapitre »
- big - « HTML, tout dans une seule page »
- none - ne montre pas les liens de documentation
- $cfg['DefaultLang'] chaîne
- Définit la langue par défaut à utiliser, si
ce n'est pas le cas, la configuration du navigateur ou celle de
l'utilisateur sera utilisée.
Voir le script select_lang.lib.php pour connaître les
valeurs autorisées pour ce paramètre.
- $cfg['DefaultConnectionCollation'] chaîne
- Définit la connexion par défaut à utiliser si elle n'est pas définie par l'utilisateur.
Consultez la documentation MySQL
pour obtenir une liste des valeurs possibles.
- $cfg['Lang'] chaîne
- Force : toujours utiliser cette langue (doit être
défini dans le script select_lang.lib.php).
- $cfg['FilterLanguages'] chaîne
- Limite la liste des langues disponibles à celle concordant
à une expression régulière donnée.
Par exemple, si vous ne voulez que le tchèque et l'anglais, vous devrez
définir le filtre suivant :
'^(cs|en)'.
- $cfg['DefaultCharset'] chaîne
- Page de code utilisée pour le recodage des requêtes
MySQL. Ceci doit être activé et est décrit par
l'option $cfg['AllowAnywhereRecoding'].
Vous pouvez donner ici n'importe quelle page de code se trouvant dans
le tableau $cfg['AvailableCharsets'] et il s'agit seulement
du choix par défaut, l'utilisateur peut choisir n'importe laquelle d'entre elles.
- $cfg['AllowAnywhereRecoding'] booléen
- Permet le recodage de la page de code des requêtes MySQL.
Vous avez besoin de la prise en charge de recode ou iconv
(compilés ou en tant que modules) dans PHP pour permettre le
recodage des requêtes MySQL et le fichier de langue
utilisée doit avoir cette option activée (par
défaut, seulement celles qui sont en Unicode, pour
éviter de perdre des caractères).
En définissant cette valeur à TRUE, cela active également un menu déroulant
dans la page « Export », pour choisir le jeu de caractères utilisé pour l'export d'un fichier.
- $cfg['RecodingEngine'] chaîne
- Pour pouvez choisir ici quelles fonctions seront utilisées
pour la conversion de page de code. Les valeurs autorisées sont :
- auto - utilise automatiquement une fonction disponible (la
première testée est iconv, puis recode),
- iconv - utilise les fonctions iconv ou libiconv,
- recode - utilise la fonction recode_string.
Par défaut à auto.
- Spécifie des paramètres pour iconv utilisés dans la conversion de page de code.
Voir la documentation
iconv pour plus de renseignements. Par défaut
//TRANSLIT est utilisé de sorte
que les caractères invalides soient substitués.
- $cfg['AvailableCharsets'] tableau
- Pages de code disponibles pour la conversion MySQL. Vous pouvez
ajouter la vôtre (n'importe laquelle prise en charge par
recode/iconv) ou supprimer celle dont vous ne vous servez pas. Les
pages de code seront affichées dans le même ordre que
celui défini ici; aussi, si vous en utilisez fréquemment
quelques-unes, faites les figurer en début de tableau.
- $cfg['GD2Available'] chaîne
- Spécifie si GD est disponible en version 2 ou
ultérieure. Si c'est le cas, il peut être utilisé
pour les transformations MIME.
Les valeurs autorisées sont :
- auto - détection automatique, qui est une
opération consommatrice pour les versions de php
antérieures à la 4.3.0; aussi, il est
préférable de changer ce paramètre en fonction des
possibilités réelles de votre serveur,
- yes - les fonctions GD 2 peuvent être utilisées,
- no - les fonctions GD 2 ne peuvent pas être utilisées.
Par défaut à auto.
- $cfg['LeftWidth'] entier
- Largeur du cadre de gauche en pixels. Voir themes/themename/layout.inc.php.
- $cfg['LeftBgColor'] chaîne ['couleur HTML']
$cfg['RightBgColor'] chaîne ['couleur HTML']
- Les couleurs d'arrière-plan (HTML) utilisées pour
les deux cadres. Voir themes/themename/layout.inc.php.
- $cfg['RightBgImage'] chaîne
- L'URI de l'image de fond utilisée pour le cadre de droite.
Elle doit être absolue. Voir themes/themename/layout.inc.php.
- $cfg['LeftPointerColor'] chaîne ['couleur HTML']
- La couleur (HTML) utilisée pour le pointeur dans le cadre
de gauche (ne fonctionne pas avec Netscape 4). Voir themes/themename/layout.inc.php.
- $cfg['LeftPointerEnable'] booléen
- Une valeur à TRUE active le pointeur de gauche (quand LeftFrameLight est à FALSE).
- $cfg['Border'] entier
- Taille de la bordure d'une table. Voir themes/themename/layout.inc.php.
- $cfg['ThBgcolor'] chaîne ['couleur HTML']
- La couleur (HTML) utilisée pour les en-têtes de
table. Voir themes/themename/layout.inc.php.
- $cfg['BgcolorOne'] chaîne ['couleur HTML']
- La couleur (HTML) numéro 1 pour les premiers enregistrements de table.
Voir themes/themename/layout.inc.php.
- $cfg['BgcolorTwo'] chaîne ['couleur HTML']
- La couleur (HTML) numéro 2 pour les seconds enregistrements de table.
Voir themes/themename/layout.inc.php.
- $cfg['BrowsePointerColor'] chaîne ['couleur HTML']
$cfg['BrowseMarkerColor'] chaîne ['couleur HTML']
- Les couleurs (HTML) utilisées pour le pointeur et le
marqueur en mode affichage (ne fonctionne pas avec Netscape 4).
La première met en surbrillance l'enregistrement sur lequel
passe votre souris et la dernière vous permet de
marquer/démarquer les enregistrements en cliquant dessus.
Vous pouvez désactiver ces deux fonctionnalités en
laissant vides leurs directives respectives.
Voir themes/themename/layout.inc.php.
- $cfg['BrowsePointerEnable'] booléen
- Activation ou désactivation du pointeur de navigation.
- $cfg['BrowseMarkerEnable'] booléen
- Activation ou désactivation du marqueur de navigation.
- $cfg['TextareaCols'] entier
$cfg['TextareaRows'] entier
$cfg['CharTextareaCols'] entier
$cfg['CharTextareaRows'] entier
- Nombre de colonnes et d'enregsitrements pour les zones de texte.
Cette valeur sera multipliée par 2 pour les zones de texte de
requête SQL et par 1,25 pour les zones de texte
SQL à
l'intérieur de la fenêtre de requête.
Les valeurs Char* sont utilisées pour l'édition de CHAR
et VARCHAR (si configurées dans $cfg['CharEditing']).
- $cfg['LongtextDoubleTextarea'] booléen
- Définit si la zone de texte pour les champs LONGTEXT doit avoir une taille double.
- $cfg['TextareaAutoSelect'] booléen
- Définit si toute la surface de la zone de texte de la boîte de requête sera
sélectionnée en cliquant dessus.
-
$cfg['CtrlArrowsMoving'] booléen
- Permet le déplacement entre les champs à l'aide de
Ctrl + flèches de direction (Option + flèches de direction dans Safari) lors de l'édition.
- $cfg['LimitChars'] entier
- Nombre maximum affiché de caractères dans tout
champ non numérique en mode Afficher. Peut être
désactivé par un bouton radio dans la page en cours.
- $cfg['ModifyDeleteAtLeft'] booléen
$cfg['ModifyDeleteAtRight'] booléen
- Définit l'endroit où les liens modifier et
supprimer seront affichés quand le contenu des tables est
affichée (vous pouvez les voir affichés à la fois
à gauche et à droite). « Gauche » et
« droite » sont traduits par « haut » et
« bas » en mode d'affichage vertical.
- $cfg['DefaultDisplay'] chaîne
chaîne
- Il existe trois modes d'affichage : 'horizontal', 'horizontalflipped' et
'vertical'. Définit lequel est affiché par défaut.
Le premier mode affiche chaque enregistrement sur une ligne horizontale, le
second fait pivoter les en-têtes de 90 degrés, de la
sorte vous pouvez utiliser des en-têtes descriptifs même si
les champs contiennent de petites valeurs et les imprimer. Le mode
vertical trie chaque enregistrement verticalement.
Le paramètre HeaderFlipType peut être défini
à 'css' ou 'faked'. En utilisant 'css' la rotation de
l'en-tête dans le mode 'horizontalflipped' est faite par la
feuille de style (CSS). S'il est défini à 'faked ', PHP
fait la transformation pour vous, mais bien sûr, ce ne sera pas
aussi beau qu'avec la feuille de style.
- $cfg['DefaultPropDisplay'] chaîne
- En modifiant/créant de nouvelles colonnes dans une table, tous les champs sont normalement
alignés sur une ligne. (par défaut : 'horizontal'). Si
vous le définissez à 'vertical', vous aurez chaque champ
aligné verticalement. Vous pouvez économiser beaucoup de
place dans le sens horizontal, sans avoir à scroller.
- 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
montré en tant qu'info-bulle pour ce champ.
- $cfg['UploadDir'] chaîne
- Le nom du répertoire où les fichiers SQL ont
été transférés autrement qu'avec phpMyAdmin
(ftp, par exemple). Ces fichiers sont disponibles sous forme d'une liste
déroulante quand vous cliquez sur le nom d'une base de
données, puis l'onglet SQL.
Si vous voulez un répertoire différent pour chaque utilisateur,
%u sera remplacé par le nom d'utilisateur.
Veuillez noter que le nom des fichiers doit avoir le suffixe
« .sql » (ou « .sql.bz2 » ou « .sql.gz »
si la gestion des formats compressés est activée).
Cette fonctionnalité est utile quand votre fichier est trop gros
pour être transféré en HTTP, ou quand les
transferts de fichiers sont désactivés dans PHP.
Veuillez noter également que si PHP est exécuté en
mode sécurisé, ce répertoire doit appartenir au
même utilisateur que le propriétaire des scripts.
Voir aussi la section
FAQ 1.16 pour des alternatives.
- $cfg['docSQLDir'] chaîne
- Le nom du répertoire où les fichiers docSQL peuvent être transférés
pour être importés dans phpMyAdmin.
Veuillez noter que si PHP est exécuté en mode sécurisé, ce répertoire doit appartenir au même utilisateur que le propriétaire des scripts.
- $cfg['SaveDir'] chaîne
- Le nom du répertoire où les fichiers d'exportation
peuvent être sauvegardés.
Si vous voulez un répertoire différent pour chaque utilisateur,
%u sera remplacé par le nom d'utilisateur.
Veuillez noter que le répertoire doit être accessible en
écriture à l'utilisateur du serveur Web.
Veuillez noter également que si PHP est exécuté en mode
sécurisé, ce répertoire doit appartenir au même utilisateur que le
propriétaire des scripts.
- $cfg['TempDir'] chaîne
- Le nom du répertoire où les fichiers temporaires peuvent être stockés.
Ceci est nécessaire pour l'exportation au format natif MS Excel, voir la section FAQ 6.23
- $cfg['Export'] tableau
- Dans ce tableau sont définis les paramètres par
défaut pour les fichiers d'exportation; les noms des items sont
similaires aux textes vus dans la page d'exportation, de la sorte vous
pouvez facilement identifier ce qu'ils signifient.
- $cfg['Import'] tableau
- Dans ce tableau sont définis les paramètres par défaut pour l'importation. Les noms des
éléments sont similaires aux textes affichés dans la page d'importation, de sorte que vous pouvez
facilement identifier ce qu'ils signifient.
- $cfg['RepeatCells'] entier
- Répète les en-têtes toutes les X cellules, ou 0 pour désactiver.
- $cfg['EditInWindows'] booléen
$cfg['QueryWindowWidth'] entier
$cfg['QueryWindowHeight'] entier
$cfg['QueryHistoryDB'] booléen
$cfg['QueryWindowDefTab'] chaîne
$cfg['QueryHistoryMax'] entier
- Toutes ces variables affectent la nouvelle fenêtre/cadre de requête. Quand
Un lien ou une icône SQL est toujours affiché dans le panneau de gauche.
Si JavaScript est activé dans votre navigateur, cliquer dessus provoque l'ouverture de
la boîte de requête, une interface directe pour saisir les requêtes SQL.
La taille de la fenêtre de requête peut être personnalisée avec
$cfg['QueryWindowWidth'] et $cfg['QueryWindowHeight'] - les deux paramètres sont des entiers
exprimant la taille en pixels.
Veuillez noter que normalement, ces paramètres seront modifiés dans layout.inc.php
pour le thème que vous utilisez.
Si $cfg['EditInWindows'] est défini à TRUE, cliquer sur ['Modifier']
à partir de la page des résultats (dans la section « Affichage des enregistrements »)
ouvre la fenêtre de requête et y met la requête en cours. S'il est défini à
FALSE, cliquer sur le lien met la requête SQL dans la boîte de requête du panneau droit.
L'utilisation, de la fenêtre de requête JavaScript est
recommandée si vous avez un navigateur gérant le
JavaScript. Les fonctions de bases sont utilisées pour
échanger quelques variables, aussi, la plupart des navigateurs
de 4ème génération doivent être capables
d'utiliser cette fonctionnalité. Actuellement, cela a
été seulement testé avec Internet Explorer 6
et Mozilla 1.x.
Si $cfg['QueryHistoryDB'] est défini à TRUE, toutes vos
requêtes sont journalisées dans une table, que vous devez
créer (voir $cfg['Servers'][$i]['history']).
Si il est défini à FALSE, toutes vos requêtes
seront ajoutées au formulaire, mais elles seront
sauvegardées seulement tant que votre fenêtre est ouverte.
En utilisant la fenêtre de requête basée sur
JavaScript, elle sera toujours mise à jour quand vous cliquez
sur une nouvelle table/base de données à afficher et se
réduira si vous cliquez sur « Modifier SQL »
après avoir utilisé une requête. Vous pouvez
supprimer la mise à jour de la fenêtre de requête en
cochant la case « Ne pas écraser cette requête depuis
une autre fenêtre » sous la zone de texte de requête.
Alors vous pouvez afficher des tables/bases de données en
arrière-plan sans perdre le contenu de la zone de texte, ce qui
est particulièrement pratique quand vous faites des
requêtes sur des tables dont vous devez d'abord regarder le
contenu. La case sera automatiquement cochée chaque fois que
vous changez le contenu de la zone de texte. Décochez cette case
si jamais vous vouliez que la fenêtre de requêtes soit
toujours mise à jour, même si vous avez fait des
modifications.
Si $cfg['QueryHistoryDB'] est défini à TRUE, vous pouvez
spécifier le nombre d'entrées dans l'historique en
utilisant $cfg['QueryHistoryMax'].
La fenêtre de requêtes a également des onglets pour
regrouper les fonctionnalités.
En utilisant la variable $cfg['QueryWindowDefTab'] vous pouvez
spécifier l'onglet par défaut à utiliser à
l'ouverture de la fenêtre de requêtes. Elle peut être
définie à 'sql', 'files', 'history' ou 'full'.
- $cfg['BrowseMIME'] booléen
- Active les Transformations MIME.
- $cfg['MaxExactCount'] entier
- Pour les tables InnoDB, détermine pour quelle taille de tables phpMyAdmin doit
obtenir le nombre de lignes exact avec
SELECT COUNT. Si
le compte approximatif de lignes renvoyé par SHOW TABLE STATUS est inférieur à cette
valeur, SELECT COUNT sera utilisé, sinon, la valeur approximative sera utilisée.
- Pour VIEW, puisqu'obtenir le compte exact pourrait avoir un impact sur les performances, cette valeur est la valeur
maximum à afficher
-
$cfg['WYSIWYG-PDF'] booléen
- Utilise un contrôle d'édition WYSIWYG pour placer
facilement les éléments d'une page PDF. En cliquant sur
le bouton 'Éditeur visuel' dans la page sur laquelle vous
éditez les coordonnées x/y de ces éléments,
vous pouvez activer un éditeur visuel où tous vos
éléments sont placés. En cliquant sur un
élément, vous pouvez le déplacer dans la zone
prédéfinie et les coordonnées x/y
seront mises à jour dynamiquement. De même, si vous entrez
directement une nouvelle position dans le champ de saisie, la nouvelle
position dans l'éditeur visuel change après que vos
curseurs aient quitté le champ de saisie.
Vous devez cliquer sur le bouton 'OK' en-dessous des tables pour
sauvegarder les nouvelles positions. Si vous voulez placer un nouvel
élément, ajoutez-le d'abord à la table des
éléments et alors vous pourrez déplacer ce nouvel
élément.
En changeant la taille du papier et l'orientation, vous changez
également la taille de l'éditeur visuel. Vous pouvez le
faire en changeant seulement le champ déroulant au-dessous, et
l'éditeur visuel se réajustera automatiquement,
sans interférer avec les positions des éléments en
cours.
Si un élément sortait du champ, vous pouvez soit agrandir
la taille du papier, soit cliquer sur le bouton 'Réinitialiser
les valeurs' pour placer tous les éléments les uns
en-dessous des autres.
REMARQUE : Vous devez utiliser un navigateur récent
comme IE6 ou Mozilla pour que ce contrôle puisse fonctionner. La fonctionnalité
de script Drag&Drop a été empruntée
à www.youngpup.net et sa licence sous-jacente si spécifique.
- $cfg['NaturalOrder'] booléen
- Trie les noms des bases de données en ordre naturel (par exemple,
t1, t2, t10). Actuellement mis en oeuvre dans le panneau de gauche (Mode allégé)
et dans la vue Base de données, pour la liste des tables.
- $cfg['TitleTable'] chaîne
- $cfg['TitleDatabase'] chaîne
- $cfg['TitleServer'] chaîne
- $cfg['TitleDefault'] chaîne
- Vous permet d'indiquer le titre de la fenêtre. Les chaînes suivantes peuvent être
utilisées pour obtenir des valeurs spéciales :
@HTTP_HOST@
- Hôte HTTP exécutant phpMyAdmin
@SERVER@
- Nom du serveur MySQL
@VERBOSE@
- Nom complet du serveur MySQL tel qu'indiqué dans la configuration serveur
@VSERVER@
- Nom complet du serveur MySQL si défini, sinon normal
@DATABASE@
- Base de données actuellement ouverte
@TABLE@
- Table actuellement ouverte
@PHPMYADMIN@
- Version de phpMyAdmin
- $cfg['ErrorIconic'] booléen
- Utilise des icônes pour les avertissements, les erreurs et les informations.
- $cfg['MainPageIconic'] booléen
- Utilise des icônes pour les listes de la page principale et les onglets de menus.
- $cfg['ReplaceHelpImg'] booléen
- Affiche un bouton d'aide plutôt que le message « Documentation ».
- $cfg['ThemePath'] chaîne
- Si le gestionnaire de thèmes est actif, utilise ceci comme le chemin du sous-répertoire
contenant les tous les thèmes.
- $cfg['ThemeManager'] booléen
- Active la sélection par l'utilisateur des thèmes. Voir
FAQ 2.7.
- $cfg['ThemeDefault'] string
- Le thème par défaut (un sous-répertoire de cfg['ThemePath']).
- $cfg['ThemePerServer'] booléen
- Autorise ou non un thème différent pour chaque serveur.
- $cfg['DefaultQueryTable'] chaîne
$cfg['DefaultQueryDatabase'] chaîne
- Requête par défaut qui sera affichée dans les
boîtes de requêtes, quand l'utilisateur n'en spécifie aucune. Utilisez %d pour le nom de base de
données et %t pour le nom de table et %f pour une liste de noms de champs séparés par des virgules.
Notez que %t et %f sont seulement applicables pour $cfg['DefaultQueryTable'].
- $cfg['SQP']['fmtType'] chaîne ['html|none']
- L'utilisation principale du nouvel analyseur syntaxique SQL est
de permettre un affichage de requêtes SQL plus clair. Par
défaut, nous utilisons HTML pour mettre en page la
requête, mais vous pouvez désactiver ce paramètre
en définissant cette variable à 'none'.
- $cfg['SQP']['fmtInd'] flottant
$cfg['SQP']['fmtIndUnit'] chaîne
[em|px|pt|ex]
- Pour un affichage plus clair des requêtes SQL, dans
certains cas, la partie d'une requête à l'intérieur
de parenthèses est indentée. En changeant $cfg['SQP']['fmtInd']
vous pouvez modifier l'importance de cette indentation.
Dans le même ordre d'idée, $cfg['SQP']['fmtIndUnit']
spécifie les unités de la valeur de l'indentation que
vous avez spécifié. Ceci est utilisé pour les
feuilles de style.
- $cfg['SQP']['fmtColor'] tableau de tuples chaîne
- Ce tableau est utilisé pour définir les couleurs
pour chaque type d'élément de requêtes SQL afin de
les lire plus facilement. Le format du tuple est :
classe => ['code couleur HTML | chaîne
vide']
Si vous spécifiez une chaîne vide pour la couleur d'une
classe, elle est ignorée lors de la création de la
feuille de style. Vous ne devez pas modifier les noms de classes,
seulement les chaînes couleur.
Clé pour le nom de classe :
- comment s'applique à toutes les sous-classes de commentaires
- comment_mysql commentaires tels que « #…\n »
- comment_ansi commentaires tels que « --…\n" »
- comment_c commentaires tels que « /*…*/ »
- digit s'applique à toutes les sous-classes nombre
- digit_hex nombres hexadécimaux
- digit_integer nombres entiers
- digit_float nombres à virgule flottante
- punct s'applique à toutes les sous classes ponctuation
- punct_bracket_open_round parenthèses ouvrantes « ( »
- punct_bracket_close_round parenthèses fermantes « ) »
- punct_listsep séparateur de liste « , »
- punct_qualifier qualificateur de table/colonne « . »
- punct_queryend marqueur de fin de requête « ; »
- alpha s'applique à toutes les sous-classes alphabétiques
- alpha_columnType identifiants correspondant à un type de colonne
- alpha_columnAttrib identifiants correspondant à un attribut de base de données/table/colonne
- alpha_functionName identifiants correspondant à un nom de fonction MySQL
- alpha_reservedWord identifiants correspondant à tout autre mot réservé
- alpha_variable identifiants correspondant à une variable SQL « @foo »
- alpha_identifier tout autre identifiant
- quote s'applique à toutes les sous-classes de marques de citation
- quote_double guillemets anglais "
- quote_single apostrophes '
- quote_backtick apostrophes inversées `
- $cfg['SQLValidator'] booléean
- $cfg['SQLValidator']['use'] booléean
- phpMyAdmin gère maintenant l'utilisation du service Mimer
SQL Validator, tel qu'il a été publié sur
Slashdot.
Pour trouver de l'aide sur le paramétrage de votre
système pour utiliser ce service, voir la section FAQ 6.14.
- $cfg['SQLValidator']['username'] chaîne
$cfg['SQLValidator']['password'] chaîne
- Le service SOAP vous permet de vous connecter avec anonymous
et n'importe quel mot de passe, aussi nous les utilisons par
défaut. Par contre, si vous avez un compte de connexion, vous
pouvez mettre ici vos détails de connexion, et ils seront
utilisés à la place de la connexion anonyme.
- $cfg['DBG']['enable'] booléen
- DÉVELOPPEURS SEULEMENT !
Active l'extension DBG pour le débogage phpMyAdmin.
Nécessaire pour analyser le code.
Pour l'aide dans le paramétrage de votre système avec
cette fonctionnalité, voir la section Développeurs.
- $cfg['DBG']['profile']['enable'] booléen
- DÉVELOPPEURS SEULEMENT !
Active la gestion de l'analyse pour phpMyAdmin. Ceci ajoutera un gros
paquet de données à la fin de chaque page affichée
dans la fenêtre principale avec les statistiques d'analyse pour
cette page.
Vous aurez peut-être besoin d'augmenter le temps maximum
d'exécution pour que cela fonctionne correctement.
- $cfg['DBG']['profile']['threshold'] flottant (unités en millisecondes)
- DÉVELOPPEURS SEULEMENT !
Quand un audit de données est affiché, cette variable
contrôle le seuil d'affichage pour chaque audit de
données, fondé sur le temps moyen que chacun a pris. S'il
est supérieur au seuil, il est affiché, sinon il n'est
pas affiché. Ceci prend une valeur en millisecondes. Dans la
plupart des cas, vous n'avez pas besoin de modifier ce paramètre.
- $cfg['ColumnTypes'] tableau
- Tous les types possibles de colonnes MySQL. Dans la plupart des
cas, vous n'avez pas besoin de modifier ce paramètre.
- $cfg['AttributeTypes'] tableau
- Attributs autorisés pour les champs. Dans la plupart des
cas, vous n'avez pas besoin de modifier ce paramètre.
- $cfg['Functions'] tableau
- Une liste de fonctions que gère MySQL. Dans la plupart des
cas, vous n'avez pas besoin de modifier ce paramètre.
- $cfg['RestrictColumnTypes'] tableau
- Mappage de types de colonnes utilisées pour l'affichage
des fonctions favorites. Dans la plupart des cas, vous n'avez pas
besoin de modifier ce paramètre.
- $cfg['RestrictFunctions'] tableau
- Les fonctions favorites pour la colonne méta-types comme
définies dans $cfg['RestrictColumnTypes'].
Dans la plupart des cas, vous n'avez pas besoin de modifier ce paramètre.
- $cfg['DefaultFunctions'] tableau
- Fonctions sélectionnées par défaut pour insérer/modifier un enregistrement.
Les fonctions sont définies pour les méta-types de
$cfg['RestrictColumnTypes']
et pour
first_timestamp, qui est utilisé pour la
première colonne d'horodatage dans une table.
- $cfg['NumOperators'] tableau
- Opérateurs disponibles pour les opérations de recherche sur les champs numériques et les champs date.
- $cfg['TextOperators'] tableau
- Opérateurs disponibles pour les opérations de recherche sur les champs caractères.
Veuillez noter que nous avons mis
LIKE par défaut plutôt que
LIKE %…%, pour éviter des problèmes imprévus dans le cas de très grandes tables.
- $cfg['EnumOperators'] tableau
- Opérateurs disponibles pour les opérations de recherche sur les champs « enum ».
- $cfg['NullOperators'] tableau
- Opérateurs supplémentaires disponibles pour les opérations de recherche quand
le champ peut avoir la valeur « null ».
- Introduction
- Utilisation
- Structure de fichier
Pour permettre les transformations, vous devez paramétrer la
table column_info et les directives appropriées. Veuillez
consulter la section Configuration
sur la manière de faire.
Vous pouvez appliquer différentes transformations au contenu
de chaque champ. La transformation prendra le contenu de chaque champ
et le transformera en fonction des règles définies dans
la transformation sélectionnée.
Imaginons que vous ayez un champ 'nom_de_fichier' qui contient un
nom de fichier. Normalement, vous ne verriez dans phpMyAdmin que ce nom
de fichier. En utilisant les transformations, vous pouvez transformer
ce nom de fichier en lien HTML, et ainsi cliquer sur la structure de
phpMyAdmin sur le lien du champ et voir le fichier affiché dans
une nouvelle fenêtre de navigateur. En utilisant les options de
transformation, vous pouvez également spécifier des
chaînes pour préfixer ou suffixer des chaînes ou
d'autres formats pour lesquels vous voulez voir le résultat avec
ces transformations.
Pour un aperçu général sur les transformations
et leurs options, vous pouvez consulter la page <www.votre-hote.com>/<votre-repertoire-installation>/transformations/overview.php
de votre installation.
Pour un tutoriel sur la façon d'utiliser efficacement les
transformations, voir notre section Links
sur la page d'accueil officielle de phpMyAdmin.
Consultez votre page tbl_properties.inc.php
(c'est-à-dire,
atteindre la page en cliquant le lien 'Structure' d'une
table). Cliquez alors sur « Modifier » (ou l'icône
Modifier) et alors vous verrez trois nouveaux champs à la fin de
la ligne qui sont : 'Type MIME', 'Transformation' et 'Options de
transformation'.
- Le champ 'Type MIME' est un champ déroulant. Vous avez le
choix de laisser le champ vide ou d'utiliser 'auto' ['cette
fonctionalité n'est pas encore disponible']. Veuillez noter que
les transformations sont inactives tant qu'aucun type MIME n'est
sélectionné.
- Le champ 'Transformation' est un champ déroulant. Vous
pouvez choisir parmi un choix grandissant de transformations
prédéfinies. Voir ci-dessous la façon de
construire votre propre transformation.
Il y a des transformations globales et des transformations de type mime
lié.
Les transformations
globales peuvent être utilisées pour tout type mime. Elles
prendront en considération, si nécessaire , le type mime.
Les transformations de type mime lié fonctionnent habituellement
avec certain type mime. Il y a des transformations qui opèrent
sur le type mime principal (comme 'image'),
qui prendront vraisemblablement en compte le sous-type, et celles qui
n'opèrent que sur un sous-type spécifique (comme
'image/jpeg').
Vous pouvez utiliser des transformations sur les types mime pour
lesquels la fonction n'a pas été définie. Il n'y a
pas de contrôle pour vérifier que vous avez choisi la
bonne transformation, aussi, faites attention au format de votre
résultat.
- Le champ 'Options de transformation' est un champ texte libre.
Vous devez entrer ici des options spécifiques de fonction de
transformation. Généralement, les transformations
fonctionnent avec les options par défaut, mais il est
conseillé de regarder l'aperçu pour voir quelles options
sont nécessaires.
Tout comme les champs ENUM/SET, vous devrez séparer plusieurs
options en utilisant le format
'a','b','c',…(REMARQUEZ QU'IL N'Y A PAS D'ESPACE). Car en interne,
les options seront analysées comme un tableau, en prenant la
première valeur comme le premier élément du
tableau, et ainsi de suite.
Si vous voulez spécifier un jeu de caractères MIME, vous
pouvez le définir dans transformation_options.
Vous devez mettre cela hors des options prédéfinies d'une
transformation mime spécifique,
comme dernière valeur du jeu. Utilisez le format « ';
charset=XXX' ». Si vous utilisez une transformation,
pour laquelle vous pouvez spécifier deux options et que vous
voulez ajouter un jeu de caractères, entrez « 'premier
paramètre','second paramètre','charset=us-ascii' ».
Vous pouvez cependant, utiliser les paramètres par défaut
: « '','','charset=us-ascii' ».
Tous les types mime et leurs transformations sont définis
dans des fichiers dans le répertoire 'libraries/transformations/'.
Ils sont emmagasinés dans des fichiers pour faciliter la
personnalisation et l'ajout aisé de nouvelles transformations.
Parce que l'utilisateur ne peut pas mettre ses propres types mime,
on garde l'assurance que les transformations fonctionnent toujours.
Cela n'a pas de sens d'appliquer une transformation à un type
mime, que la fonction de transformation ne sait pas manipuler.
On peut, cependant, utiliser des types mime vides et des
transformations
globales qui fonctionnent pour beaucoup de types mime. Vous pouvez
aussi utiliser des transformations sur des types mime différents
de ceux pour lesquels elles ont été construites, mais
faites attention aux options d'utilisation tout comme à l'action
qu'aura la transformation sur votre champ.
Il y a un fichier de base appelé 'global.inc.php'. Cette
fonction peut être incluse dans n'importe quelle autre
transformation et fournit des fonctions de base.
Il y a cinq noms de fichiers possibles :
- Une transformation typemime+soustype :
['typemime']_['soustype']__['transformation'].inc.php
Veuillez noter que typemime et soustype sont séparés par
'_', qui ne doit pas être contenu dans leurs noms. La
transformation fonction/nomfichier ne doit contenir que des
caractères qui ne posent pas de problème pour le
système de fichier et pour la convention de nommage de fonction
de PHP.
La fonction de transformation sera appelée 'transformation_PMA_['typemime']_['soustype']__['transformation']()'.
Exemple :
text_html__formatted.inc.php
PMA_transform_text_html__formatted()
- Une transformation de type mime (sans sous-type) :
['typemime']__['transformation'].inc.php
Veuillez noter qu'il n'y a pas de caractère '_' isolé. La
transformation fonction/nomfichier doit contenir seulement des
caractères qui ne posent pas de problème pour le
système de fichier et pour la convention de nommage de PHP.
La fonction de transformation sera appelée
'transformation_PMA_['typemime']__['transformation']()'.
Exemple :
text__formatted.inc.php
transformation_PMA_text__formatted()
- Une transformation typemime+soustype sans fonction de
transformation spécifique
['typemime']_['soustype'].inc.php
Veuillez noter qu'il n'y a pas de caractère '_' dans le fichier.
N'utilisez pas de caractères spéciaux dans le nom de
fichier posant des problèmes avec le système de fichiers.
Aucune fonction de transformation n'est définie dans le fichier lui-même.
Exemple :
text_plain.inc.php
(Pas de fonction)
- Une transformation de type mime (sans sous-type) sans fonction de
transformation spécifique
['typemime'].inc.php
Veuillez noter qu'il n'y a pas de caractère '_' dans le nom de
fichier. N'utilisez pas de caractères spéciaux dans le
nom de fichier posant des problèmes avec le système de
fichiers.
Aucune fonction de transformation n'est définie dans le fichier lui-même.
Exemple :
text.inc.php
(Pas de fonction)
- Une fonction de transformation globale sans type mime spécifique
global__['transform'].inc.php
La fonction de transformation sera appelée
'transformation_PMA_global__['transform']()'.
Exemple :
global__formatted
transformation_PMA_global__formatted()
Utilisez donc généralement '_' pour
séparer le type mime du sous-type, et '__' pour annoncer la
fonction de transformation.
Tous les fichiers ne contenant pas '__' ne sont pas affichés
en tant que fonctions de transformation valides dans la liste
déroulante.
Veuillez consulter le fichier libraries/transformations/TEMPLATE
pour ajouter votre propre fonction de transformation. Veuillez
consulter le fichier libraries/transformations/TEMPLATE_MIMETYPE
pour ajouter un type mime sans fonction de transformation. Veuillez
également prendre en compte l'introduction à la
description de fonction dans les fichiers de langue. Pour chaque
fonction une variable $strTransformation_['nomfichier sans .inc.php']
doit exister.
Vous pouvez utiliser le générateur de modèles
pour créer de nouvelles fonctions et des entrées dans le
fichier de langue.
Pour créer une nouvelle fonction de transformation, veuillez
consulter libraries/transformations/template_generator.sh.
Pour créer un nouveau type mime vide, veuillez consulter
libraries/transformations/template_generator_mimetype.sh.
Une fonction de transformation a toujours besoin de trois variables :
- $buffer - contient le texte de la colonne. C'est le texte
que vous voulez transformer.
- $options - contient toutes les options passées par
l'utilisateur à la fonction de transformation sous forme de
tableau.
- $meta - contient un objet avec une information de champ
pour votre colonne. L'information est tirée du résultat
de la fonction mysql_fetch_field().
Cela signifie, que toutes les propriétés décrites
sur la page manuel
sont disponibles dans cette variable et peuvent être
utilisées pour transformer un champ en accord avec les
propriétés unsigned/zerofill/not_null/…
La variable $meta->mimetype contient le type MIME original du champ
(c'est-à-dire 'text/plain', 'image/jpeg', etc.)
FAQ - Foire Aux Questions
- Serveur
- Configuration
- Limitations
- Multi-utilisateur
- Navigateurs
- Astuces d'utilisation
- Projet
- Sécurité
Veuillez jeter un œil à notre section Links
sur la page d'accueil officielle de phpMyAdmin pour une revue
détaillée des fonctionnalités de phpMyAdmin et/ou
de son interface.
1. Serveur
Il y a quelques bogues PHP recensés pour le cache des
résultats (ouput buffering) et la compression.
Essayez de paramétrer la directive $cfg['OBGzip']
à FALSE dans votre fichier config.inc.php et
la directive zlib.output_compression à OFF
dans votre fichier de configuration php.
De plus, nous connaissons de tels problèmes en relation avec les
« release candidates » (RC) de PHP 4.2.0 (testé avec PHP 4.2.0 RC1
à RC4) avec MS Internet Explorer. Veuillez mettre à jour
votre version de PHP à 4.2.0.
Vous devez tout d'abord essayer les dernières versions de Apache (et si possible de MySQL).
Veuillez également consulter la section FAQ 1.1 sur les
bogues de PHP avec le cache de résultats (output buffering).
Si votre serveur continue à planter, veuillez demander de l'aide
dans les divers groupes d'entraide de Apache.
C'est un bogue connu de PHP (voir ce rapport de bogue)
recensé dans la base de données officielle de bogues de
PHP. Cela signifie qu'il n'y a pas et qu'il n'y aura pas de correctif
phpMyAdmin pour corriger cela parce qu'il n'y a pas de moyen pour coder
ce correctif.
Vous avez juste oublié de lire le fichier install.txt
de la distribution php. Consultez le dernier message dans ce rapport de bogue de la
base de données officielle de bogues de PHP.
Ceci est un problème connu du filtre ISAPI
de PHP : il n'est pas très stable.
Veuillez utiliser plutôt le mode d'authentification par cookie.
Cela semble être un bogue de PWS. Filippo Simoncini a
trouvé une solution de rechange
(pour le moment, il n'y a pas de meilleur moyen) : supprimez ou mettez
en commentaire les déclarations DOCTYPE (deux lignes)
des scripts libraries/header.inc.php, libraries/header_printview.inc.php,
index.php, left.php et libraries/libraries/common.lib.php.
Ces fonctionnalités sont basées sur les fonctions PHP gzencode()
et bzcompress() pour être plus indépendantes de la plateforme
(Unix/Windows, Mode sécurisé ou non, et ainsi de suite). Aussi, vous
devez avoir PHP4 >= 4.0.4 et la gestion Zlib/Bzip2 (--with-zlib
and --with-bz2).
Nous avons été confrontés à des plantages
de PHP en essayant de télécharger un fichier
d'exportation avec MS Internet Explorer en utilisant phpMyAdmin avec une release candidate de PHP
4.2.0. Dans ce cas, vous devrez changer pour la version PHP 4.2.0 finale.
Votre fichier transféré est sauvegardé dans
votre « répertoire de transfert », tel que
défini dans le fichier php.ini par la variable upload_tmp_dir
(habituellement, le répertoire système par défaut
est /tmp).
Nous vous recommandons le paramétrage suivant pour les serveurs
Apache exécutés en mode sécurisé, pour
activer les transferts de fichiers tout en étant raisonnablement
sécurisés :
- créer un répertoire séparé pour les transferts : mkdir /tmp/php
- rendez propriétaire du répertoire le groupe et
l'utilisateur du serveur Apache : chown apache:apache /tmp/php
- donnez les permissions appropriées : chmod 600 /tmp/php
- mettez upload_tmp_dir = /tmp/php dans le fichier php.ini
- redémarrez Apache
Ce n'est pas vraiment phpMyAdmin qui est en cause mais plutôt
RedHat 7.0. Vous utilisez RedHat 7.0 et vous avez mis à jour
votre paquetage RPM PHP vers php-4.0.4pl1-3.i386.rpm,
n'est-ce pas ?
Donc le problème est que ce paquetage a un sérieux bogue
qui a été corrigé il y a pas mal de temps dans PHP
(28-01-2001 : voir le système
Bug Tracker de PHP
pour plus de détails). Le problème est que ce paquetage
bogué est toujours disponible bien qu'il soit corrigé
(voir RedHat's
BugZilla pour plus de détails).
Aussi, veuillez télécharger le
paquetage corrigé (4.0.4pl1-9) et le problème devrait
disparaître.
Et cela corrige le problème \r\n avec les transferts de fichiers !
Comme l'a suggéré « Rob M » dans le forum
phpWizard, ajoutez cette ligne dans votre fichier httpd.conf :
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
Il semble que cela supprime beaucoup de problèmes entre Internet Explorer et SSL.
Depuis la version 2.2.4, phpMyAdmin gère les serveurs avec
les restrictions open_basedir. En supposant que la restriction vous
autorise à ouvrir des fichiers dans le répertoire en
cours ('.'), tout ce que vous avez à faire est de créer
un répertoire 'tmp' dans le répertoire d'installation de
phpMyAdmin, avec les permissions 777
et le même propriétaire que celui du répertoire
phpMyAdmin. Les fichiers transférés seront
déplacés ici, et supprimés après
l'exécution de vos commandes SQL.
Le manuel MySQL explique comment réinitialiser
les permissions.
Si PHP n'a pas d'accès en lecture/écriture à
son répertoire upload_tmp_dir,
il ne peut pas accéder à la requête
transférée.
Vérifiez la directive post_max_size dans votre
fichier de configuration PHP et essayez de l'augmenter.
Dans les anciennes versions de MySQL, les champs User et Password
étaient nommés user et password.
Veuillez modifier vos noms de champs pour qu'ils s'adaptent aux standards en vigueur.
À partir de la version 2.7.0, le moteur d'importation a été ré-écrit et ces
problèmes ne devraient plus arriver. Si possible, mettez à jour votre phpMyAdmin avec la dernière
version pour tirer parti des nouvelles fonctionnalités d'importation.
Les premières choses à vérifier (ou à
demander à votre fournisseur d'accès de vérifier)
sont les valeurs upload_max_filesize, memory_limit
et post_max_size dans le fichier de configuration php.ini.
L'ensemble de ces trois paramètres limitent la taille maximale
des données qui peuvent être soumises par PHP. Un
utilisateur a également dit que post_max_size et
memory_limit doivent être plus grandes que upload_max_filesize.
Il existe plusieurs moyens de contournement si votre upload est trop gros ou si
votre hébergeur ne souhaite pas modifier les paramètres :
- Regardez la fonctionnalité $cfg['UploadDir']. Ceci permet d'uploader
un fichier vers un serveur via scp, ftp ou votre méthode de transfert de fichier
préférée. PhpMyAdmin est alors capable d'importer les fichiers à
partir du répertoire temporaire. Plus d'onformations sont disponibles dans la section
Configuration
- En utilisant un utilitaire (tel que
BigDump) pour découper le fichier avant de l'uploader. Nous ne gérons pas ceci
ni aucune application tierce, mais nous savons que des utilisateurs ont réussi à
le faire.
- Si vous avez un accès au shell (ligne de commande), utilisez MySQL pour importer
les fichiers directement. Vous pouvez faire ceci en utilisant la commande « source » dans
MySQL : source nomfichier.sql.
Toutes les versions MySQL de la version 3.23.32 jusqu'à la
version 5.0 sont totalement gérées.
Veuillez noter que plus votre version de MySQL est ancienne, plus vous
serez confronté à des limitations.
phpMyAdmin peut se connecter à votre serveur MySQL en utilisant
l'extension MySQL classique de php tout autant que
l'extension améliorée de MySQL (MySQLi) qui
est disponible dans php 5.0.
Quoiqu'il en soit, les développeurs des deux extensions recommandent d'utiliser l'extension
classique pour MySQL 4.0 et les versions précédentes et MySQLi pour MySQL 4.1 et les versions ultérieures.
En compilant php, nous recommandons fortement de lier manuellement
l'extension MySQL de votre choix à une bibliothèque client MySQL d'au
moins la même version mineure, puisque celle qui est fournie avec
les distributions de php actuelles est plutôt ancienne et
pourrait causer des problèmes (voir également FAQ 1.17a).
Si votre serveur Web fonctionne sous un système Windows, vous devriez essayer le
connecteur PHP de MySQL plutôt que les
extensions MySQL / MySQLi livrées avec les versions Win32 PHP offcielles.
MySQL 5.1 n'est pas encore géré.
Vous avez essayé d'accéder à MySQL avec une
ancienne bibliothèque client MySQL. La version de votre
bibliothèque client MySQL peut être vérifiée
dans le résultat de votre fonction phpinfo().
En général, elle devrait avoir au moins la même
version mineure que votre serveur - comme cela est
précisé dans la section FAQ 1.17.
Ce problème est généralement observé en utilisant MySQL version 4.1 ou ultérieure. MySQL
a changé l'empreinte numérique (« hash ») d'authentification et votre PHP essaie d'utiliser l'ancienne méthode.
La solution adéquate est d'utiliser l'extension mysqli
avec la bonne bibliothèque client pour correspondre à votre installation MySQL. L'extension que vous avez choisie
est indiquée dans $cfg['Servers'][$i]['extension'].
Vous trouverez plus d'informations (et de moyens de contournement) dans la
documentation MySQL.
C'est un bogue de MySQL <= 4.0.1. Veuillez mettre
à jour au moins à la version MySQL 4.0.2 ou
désactivez votre directive lower_case_table_names.
La bibliothèque « FPDF » que nous utilisons pour
cette fonctionnalité nécessite des fichiers
spéciaux pour utiliser les polices.
Veuillez vous référer au
manuel FPDF pour construire ces fichiers.
Si votre cluster est constitué de différentes architectures de machines,
le code PHP utilisé pour le chiffrement et le déchiffrement ne fonctionnera pas correctement.
Cela est dû à l'utilisation des fonctions « pack » et
« unpack » du code. La seule solution est d'utiliser
l'extension « mcrypt » qui fonctionne très bien dans ce cas.
Pour se connecter à un serveur MySQL, PHP a besoin d'un jeu
de fonctions MySQL appelées « extension MySQL ». Cette
extension peut faire partie de la distribution PHP
(intégrée), sinon elle doit être chargée
dynamiquement. Son nom est vraisemblablement mysql.so ou php_mysql.dll.
phpMyAdmin a essayé de charger l'extension mais a échoué.
D'habitude le problème est résolu en installant un
paquetage nommé « PHP-MySQL » ou quelque chose de similaire.
Dans le fichier php.ini, définissez mysql.max_links
à une valeur supérieure à 1.
Ceci est dû très probablement au fait que dans votre
fichier php.ini, votre paramètre file_uploads
n'est pas défini à « on ».
Ceci arrive parce que la directive MySQL lower_case_table_names
est définie par défaut à 1 (ON) dans la
version Win32 de MySQL. vous pouvez changer ce comportement en
changeant simplement la directive à 0 (OFF) :
Éditez votre fichier my.ini qui doit se trouver dans
votre répertoire Windows et ajouter la ligne suivante au groupe
['mysqld'] :
set-variable = lower_case_table_names=0
Ensuite, sauvegardez le fichier et redémarrez le service MySQL.
Vous pouvez toujours vérifier la valeur de cette directive en
utilisant la requête suivante
SHOW VARIABLES LIKE 'lower_case_table_names';
C'est un bogue de PHP 4.2.3.
Une astuce de Jose Fandos : mettez en commentaire les deux lignes
suivantes dans votre fichier httpd.conf, comme ceci :
# mod_gzip_item_include file \.php$
# mod_gzip_item_include mime "application/x-httpd-php.*"
car cette version de mod_gzip sur Apache (Windows) a des
problèmes pour manipuler les scripts PHP. Bien sûr, vous
devrez redémarrer Apache.
C'est un problème de permission. Faites un clic droit sur le
dossier phpmyadmin et sélectionner Propriétés.
Dans l'onglet Sécurité, cliquez sur « Ajouter »
et sélectionner l'utilisateur « IUSR_machine »
à partir de la liste. Définissez maintenant ses
permissions et cela devrait fonctionner.
C'est un bogue PHP qui
survient quand le cache de résultats GZIP (output buffering) est
activé. Si vous le désactivez (en définissant $cfg['OBGzip'] = false
dans votre fichier config.inc.php),
cela devrait fonctionner. Ce bogue sera corrigé dans PHP version 5.0.0.
Cela peut arriver à cause d'un bogue de MySQL quand vous
avez des noms de base de données/tables avec des
caractères en majuscules bien que lower_case_table_names
soit défini à 1. Pour corriger ceci, désactivez
cette directive, convertissez tous les noms de vos tables et base de
données en minuscules et réactivez-la. Il y a
également un correctif disponible à partir de
MySQL 3.23.56 / 4.0.11-gamma.
Il est possible de configurer Apache de telle façon que PHP a
des problèmes en interprétant les fichiers .php.
Les problèmes surviennent quand deux jeux de directives
différents (et en conflit) sont utilisés :
SetOutputFilter PHP
SetInputFilter PHP
et
AddType application/x-httpd-php .php
Dans le cas que nous avons constaté, un jeu de directives
était dans le fichier /etc/httpd/conf/httpd.conf,
alors que l'autre était dans le fichier /etc/httpd/conf/addon-modules/php.conf.
La manière recommandée est AddType, mettez
seulement en commentaire le premier jeu de lignes et redémarrez
Apache :
#SetOutputFilter PHP
#SetInputFilter PHP
Ce problème est connu pour survenir quand le serveur
exécute Turck MMCache, mais la mise à jour de MMCache en version 2.3.21
résoud le problème.
Oui.
Cependant, phpMyAdmin a besoin d'être rétro-compatible avec php4. C'est pourquoi
vous ne pourrez pas exécuter phpMyAdmin en ayant activé le paramètre E_STRICT dans
error_reporting.
Oui. Cette procédure a été testée avec phpMyAdmin 2.6.1, PHP 4.3.9 en mode
ISAPI sous
IIS 5.1.
- Dans votre fichier php.ini, paramétrez cgi.rfc2616_headers = 0
- Dans la boîte de dialogue Propriétés de site -> Sécurité de fichier/répertoire -> Accès anonyme, cochez la case Accès anonyme et décochez toutes les autres cases (c-à-d décochez Authentification de base, Authenfication intégrée Windows, et Digest si ces cases sont cochées). Cliquez sur OK.
- Dans Erreurs personnalisées, sélectionnez de 401;1 à 401;5 et cliquez sur le bouton Définir par défaut.
Oui. Ce problème affecte phpMyAdmin (« Appel à la fonction indéfinie pma_reloadnavigation »), aussi,
veuillez mettre à jour votre version de PHP.
Oui. Sans autre configuration, vous pouvez utiliser des URL de type
http://server/phpMyAdmin/index.php?db=database&table=table&target=script
Les parties « table » et « script » sont optionnelles. Si vous
voulez utiliser des URL
du type http://server/phpMyAdmin/database['/table']['/script'], vous devrez faire quelques
ajustements. Les lignes suivantes ne s'appliquent que pour un serveur Web
Apache. D'abord, assurez-vous que vous
avez activé certaines fonctionnalités dans la configuration globale. Vous avez besoin que
Options FollowSymLinks et AllowOverride
FileInfo soient activés pour le répertoire où est installé phpMyAdmin et
que « mod_rewrite » soit activé. Alors, vous aurez seulement besoin de créer le fichier
.htaccess suivant dans le dossier racine de l'installation de phpMyAdmin
(n'oubliez pas de changer le nom du répertoire) :
RewriteEngine On
RewriteBase /path_de_phpMyAdmin
RewriteRule ^(['a-zA-Z0-9_']+)/(['a-zA-Z0-9_']+)/(['a-z_']+\.php)$ index.php?db=$1&table=$2&target=$3 ['R']
RewriteRule ^(['a-zA-Z0-9_']+)/(['a-z_']+\.php)$ index.php?db=$1&target=$2 ['R']
RewriteRule ^(['a-zA-Z0-9_']+)/(['a-zA-Z0-9_']+)$ index.php?db=$1&table=$2 ['R']
RewriteRule ^(['a-zA-Z0-9_']+)$ index.php?db=$1 ['R']
Oui. Cependant vous aurez besoin de passer la variable d'authentification à CGI en utilisant
la règle rewrite suivante :
RewriteEngine On
RewriteRule .* - ['E=REMOTE_USER:%{HTTP:Authorization},L']
Il peut y avoir plusieurs explications à cela et consulter le journal des erreurs de votre serveur
devrait vous donner une piste.
Configuration
Éditez votre fichier config.inc.php et
assurez-vous qu'il n'y a rien (c'est-à-dire pas de ligne
blanche, pas d'espace, pas de caractère…) ni devant la balise <?php
au début du fichier, ni après la balise ?>
à la fin du fichier.
Il y a soit une erreur dans votre configuration PHP, soit votre
utilisateur/mot de passe. Essayez de faire un petit script qui utilise
mysql_connect et voyez s'il fonctionne. Si ce n'est pas le cas, il se
peut que vous n'ayez pas compilé la gestion de MySQL dans PHP.
Pour les utilisateurs RedHat, Harald Legner suggère ceci sur la liste de diffusion :
Sur mon système RedHat le socket de MySQL est /var/lib/mysql/mysql.sock.
Dans votre fichier php.ini vous trouverez une ligne
mysql.default_socket = /tmp/mysql.sock
changez-la pour :
mysql.default_socket = /var/lib/mysql/mysql.sock
Redémarrez alors Apache et cela fonctionnera.
Voici un correctif proposé par Brad Ummer :
- D'abord, vous devez déterminer quel socket est utilisé par MySQL.
Pour cela, faites un telnet sur votre serveur et allez dans le
répertoire bin de
MySQL. Dans ce répertoire il devrait y
avoir un fichier appelé mysqladmin. Tapez alors ./mysqladmin
variables, et cela devrait vous donner un paquet d'infos sur votre
serveur MySQL, y compris le socket (/tmp/mysql.sock, par exemple).
- Ensuite, vous devez dire à PHP d'utiliser ce socket.
Pour faire cela dans phpMyAdmin, vous devez compléter l'information sur le socket
dans votre fichier config.inc.php.
Par exemple : $cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock';
Veuillez également vous assurer que les permissions de ce
fichier permettent à votre serveur web de lire le fichier
(c'est-à-dire '0755').
Consultez également la
section correspondante dans la documentation MySQL.
Essayez de définir la directive $cfg['OBGZip'] à FALSE
dans le fichier de configuration de phpMyAdmin. Cela aide parfois.
Veuillez également regarder le numéro de version de PHP :
s'il contient « 4.0b… »
cela signifie que vous exécutez une version beta de PHP. Ce
n'est pas une très bonne idée, veuillez mettre à
jour dans une version stable.
Vérifier la valeur que vous avez définie dans votre
directive $cfg['PmaAbsoluteUri']
dans votre fichier de configuration phpMyAdmin.
Quand vous utilisez un port sur votre ordinateur local, que vous
redirigez à l'aide d'une redirection de port vers un autre
hôte, MySQL ne résoud pas le nom d'hôte local comme
il le devrait.
Erik Wasser explique : La solution est : si votre hôte est
« localhost », MySQL (l'outil de commande en ligne 'mysql'
aussi) essaie toujours d'utiliser la connexion socket pour
accélérer les choses. Et cela ne fonctionne pas dans
cette configuration avec redirection de port.
Si vous mettez « 127.0.0.1 » comme nom d'hôte, tout est
correct et MySQL utilise la connexion TCP.
Les thèmes sont configurés avec
$cfg['ThemePath'],
$cfg['ThemeManager'] et
$cfg['ThemeDefault'].
Sous $cfg['ThemePath'], vous ne devez pas supprimer le répertoire
« original » ou ses sous-répertoires, car c'est le thème système utilisé par phpMyAdmin. « original » contient tous les styles et
images, pour des raisons de compatibilité descendante et pour tous les thèmes qui
qui ne comportent pas d'images ou de fichiers css.
Si $cfg['ThemeManager'] est activé, vous pouvez sélectionner votre
thème préféré à partir de la page principale. Le thème sélectionné sera alors stocké dans un cookie.
Pour créer un thème :
- créez un nouveau sous-répertoire (par exemple « votre_nom_de_theme ») dans
$cfg['ThemePath'] (par défaut themes)
- copiez les fichiers et les répertoires de « original » vers « votre_nom_de_theme »
- éditez vos fichiers css dans « votre_nom_de_theme/css »
- mettez vos nouvelles images dans « votre_nom_de_theme/img »
- éditez layout.inc.php dans « votre_nom_de_theme »
- éditez info.inc.php dans « votre_nom_de_theme » pour qu'il contienne
votre nom de thème, qui sera visible dans l'interface utilisateur
- faites un nouveau cliché de votre thème et enregistrez-le sous « votre_nom_de_theme/screen.png »
Dans le répertoire « theme » il y a info.inc.php qui contient
le nom long, la génération et la version du thème. Ces versions et
générations sont énumérées à partir de 1 et n'ont aucune dépendances
directes avec la version de phpMyAdmin. Les thèmes d'une même génération doivent être
rétro-compatibles - un thème de version 2 devrait fonctionner avec phpMyAdmin nécessitant une version 1.
Les thèmes de générations différentes sont incompatibles.
Si vous ne voulez pas utiliser vos propres symboles et boutons, supprimez le répertoire « img » dans « votre_nom_de_theme ». phpMyAdmin utilisera les icônes et boutons par
défaut (du thème système « original »).
Vérifiez les points suivants :
- Dans le fichier config.inc.php, essayez de laisser la directive
$cfg['PmaAbsoluteUri'] vide. Voir également la section
FAQ 4.7.
- Votre installation de PHP est peut-être corrompue ou vous avez besoin de mettre à jour
votre Zend Optimizer. Voir http://bugs.php.net/bug.php?id=31134.
- Si vous utilisez Hardened PHP avec la directive ini varfilter.max_request_variables
et la définissez à sa valeur par défaut (200) ou une autre valeur plus basse,
vous pouvez obtenir cette erreur si votre table a un grand nombre de colonnes. Ajustez ce paramètre
en conséquence. (Merci à Klaus Dorninger pour l'astuce).
- Dans la directive arg_separator.input dans php.ini, une valeur
« ; » provoque cette erreur. Remplacez-la par « &; ».
Limitations connues
Cela est dû au mécanisme du protocole d'authentification utilisé par
phpMyAdmin. Pour contourner ce problème : fermez toutes les
fenêtres de navigateur ouvertes et retournez dans phpMyAdmin. Vous devriez être en mesure de vous reconnecter.
Les fichiers d'exportations compressés sont construits en
mémoire et à cause de cela sont limités par la
limite mémoire de php. Pour les exportations GZip/BZip2, ceci
peut être outrepassé depuis la version 2.5.4 en utilisant
$cfg['CompressOnFly']
(activé par défaut). Les exportations Zip ne peuvent pas
être traitées de cette façon, donc si vous avez
besoin de fichiers Zip pour des exportations plus importantes, vous devrez utiliser un autre moyen.
Cela semble être un bogue de InnoDB (corrigé dans MySQL 3.23.50 ?).
Le problème vient du fait que mysqldump crée des
commentaires invalides comme ceci :
-- MySQL dump 8.22
--
-- Host: localhost Database: database
---------------------------------------------------------
-- Server version 3.23.54
La partie invalide du code est la ligne horizontale de tirets qui
apparaît une fois dans chaque fichier d'exportation
créé avec mysqldump. Si vous voulez utiliser votre
fichier d'exportation, vous devrez le transformer en code valide MySQL.
Cela signifie que vous devrez ajouter une espace après les deux
premiers tirets de la ligne ou ajouter un # devant :
-- -------------------------------------------------------
ou
#---------------------------------------------------------
Veuillez noter que vous ne devez pas utiliser la chaîne de
séparation plusieurs fois sans insérer de
caractère entre ces chaînes, ou au début/fin de
votre nom de table. Si vous devez le faire, cherchez un autre
séparateur de table ou désactivez la
fonctionnalité.
Dans la vue Gestion des relations, être en mesure de choisir
une table dans une autre base de données,
ou avoir plus d'un champ dans la clé étrangère.
Dans Query-by-example (Query), la génération automatique
de la requête LEFT JOIN à partir d'une table étrangère.
Votre table n'a pas de clé primaire ou de clé unique,
ce qui oblige à utiliser une expression longue pour identifier
cette ligne. Cela pose des problèmes à la fonction
parse_url. La solution de rechange est de créer une clé
primaire ou une clé unique.
À cause d'un container de formulaires (utilisé pour
les cases à cocher de suppression de plusieurs lignes), les
formulaires imbriqués ne peuvent pas être mis à
l'intérieur de la table ou phpMyAdmin affiche les
résultats. Vous pouvez cependant utiliser tout formulaire
à l'intérieur d'une table si vous gardez le container de
formulaires parent avec la cible tbl_row_delete.php et mettez
vos éléments de saisie
à l'intérieur. Si vous utilisez un champ de soumission de
saisie personnalisé, le formulaire sera soumis lui-même
vers la page d'affichage à nouveau, où vous pouvez
valider les $HTTP_POST_VARS dans une transformation. Pour un tutoriel
sur la façon d'utiliser efficacement les transformations, voir
notre section Links
sur la page d'accueil officielle de phpMyAdmin.
Quand MySQL est exécuté en mode de
compatibilité ANSI, il y a des différences majeures dans
la façon dont SQL est structuré (voir http://dev.mysql.com/doc/mysql/en/ANSI_mode.html).
Le plus important, le caractère guillemet (") est
interprété en tant que caractère guillemet
identifiant et non comme le caractère guillemet
annonçant une chaîne, ce qui provoque des requêtes
SQL invalides dans beaucoup d'opérations
internes de phpMyAdmin. Il n'y a pas de solution de rechange à
ce comportement. Des nouvelles sur ce sujet seront postées dans le rapport de bogue
#816858
Veuillez vous assurer que votre table a une clé primaire,
ainsi phpMyAdmin peut l'utiliser pour les liens Modifier et Effacer.
phpMyAdmin utilise une méthode rapide pour obtenir le nombre de lignes, et cette méthode
ne renvoie qu'un nombre approximatif pour les tables InnoDB. Voir
$cfg['MaxExactCount'] pour le moyen de modifier ces résultats, mais
cela peut avoir un sérieux impact sur les performances.
Le nombre d'enregistrements dans les requêtes contenant COUNT et GROUP BY n'est
pas calculé correctement. Également, le tri des résultats d'une requête
telle que « SELECT * from table GROUP BY » … est problématique.
Les tests que j'ai effectués avec l'API actuelle de MySQL 4.1.11, montre que cette API
n'accepte pas cette syntaxe pour la commande USE. En encadrant le nom de la base de
données avec des apostrophes inversées (« ` »), cela fonctionne.
Pour ajouter encore à la confusion, aucune apostrophe inversée n'est nécessaire
en ligne de commande mysql.
FAI, installation multi-utilisateurs
Depuis la version 2.0.3, vous pouvez configurer une copie
centralisée de phpMyAdmin pour tous vos utilisateurs. Le
développement de cette fonctionnalité a été
aimablement sponsorisé par NetCologne GmbH. Ceci requiert une
configuration correcte de la gestion des utilisateurs MySQL et
l'utilisation de l'authentification HTTP ou par cookie pour phpMyAdmin.
Voir la section Installation sur « Utiliser les modes d'authentification ».
Cela dépend de votre système.
Si vous utilisez un serveur qui ne peut pas être
accédé par d'autres personnes,
il est suffisant d'utiliser la protection de répertoire fournie
avec votre serveur Web (avec Apache vous pouvez utiliser les fichiers .htaccess,
par exemple).
Si d'autres personnes ont un accès telnet à votre
serveur, vous devriez utiliser la fonctionnalité
d'authentification HTTP ou par cookie de phpMyAdmin.
Suggestions :
- Votre fichier config.inc.php devrait être chmod 660.
- Tous les fichiers phpMyAdmin devraient être chown -R phpmy:apache, où phpmy
est un utilisateur dont le mot de passe est connu de vous seul, et apache est le groupe avec lequel Apache est
exécuté.
- Vous devriez utiliser le mode sécurisé de PHP, pour
vous protéger des autres utilisateurs qui pourraient inclure
votre fichier config.inc.php dans leurs scripts.
Vérifier votre fichier php.ini, ou demander à
votre administrateur système de le faire. include_path
doit contenir « . » dans ses chemins et open_basedir,
s'il est utilisé, doit contenir « . » et
« ./lang » pour permettre un fonctionnement normal de phpMyAdmin.
Cela peut arriver pour différentes raisons :
- $cfg['Servers'][$i]['controluser'] et/ou
$cfg['Servers'][$i]['controlpass'] sont erronés.
- L'utilisateur/mot de passe que vous spécifiez dans le dialogue de connexion sont invalides.
- Vous avez déjà configuré un mécanisme de sécurité pour le répertoire phpMyAdmin, par
exemple un fichier .htaccess.
Cela doit interférer avec l'authentification phpMyAdmin, aussi, supprimez-le.
À partir de la version 2.2.5, dans la page de gestion des
utilisateurs, vous pouvez mettre un méta-caractère dans
le nom de la base de données pour un utilisateur (par exemple
« joe% »), et mettre les privilèges que vous voulez.
Par exemple, en ajoutant SELECT, INSERT, UPDATE,
DELETE, CREATE, DROP, INDEX, ALTER permettra à un
utilisateur de créer/administrer sa(ses) base(s) de données.
Si vous avez des règles existantes d'un ancien fichier
.htaccess, vous pouvez le prendre et ajouter le nom d'utilisateur entre
les chaînes 'deny'/'allow' et 'from'.
Utiliser le méta-caractère '%'
pour le nom d'utilisateur est un grand avantage si votre installation
est adaptée pour l'utiliser. Ensuite, vous pouvez ajouter ces
lignes mises à jour dans le tableau
$cfg['Servers'][$i]['AllowDeny']['rules'].
Si vous voulez un exemple préfabriqué, vous pouvez
essayer celui-ci. Il empêche l'utilisateur
'root' de se connecter à partir de n'importe quels
réseaux autres que les réseaux IP privés.
//empêche root de se connecter sauf à partir des réseaux privés
$cfg['Servers'][$i]['AllowDeny']['order'] = 'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] = array(
'deny root from all',
'allow root from localhost',
'allow root from 10.0.0.0/8',
'allow root from 192.168.0.0/16',
'allow root from 172.16.0.0/12',
);
Ceci arrive si vous utilisez une URL pour démarrer phpMyAdmin
qui est différente de celle définie dans votre $cfg['PmaAbsoluteUri'].
Par exemple, s'il manque « www », ou si vous entrez une
adresse IP alors qu'un nom de domaine est défini dans le fichier de configuration.
Navigateurs et système d'exploitation client
Nous n'avons pu reproduire ce problème que sous Win98/98SE.
En testant avec WinNT4 ou Win2K, nous avons pu facilement créer plus de 60 champs.
Une solution de rechange est de créer un plus petit nombre de
champs, puis de revenir dans les propriétés de votre table et d'ajouter les autres champs.
Ce n'est pas un problème de phpMyAdmin mais un bogue
connu de Xitami : vous rencontrerez ce problème chaque fois
qu'un script/site Web utilise des formulaires.
Mettez à jour ou descendez d'une version votre serveur Xitami.
Avec Konqueror 2.1.1 : les fichiers d'exportation simples, zip et GZip fonctionnent bien,
sauf que le nom de fichier proposé pour le fichier d'exportation est toujours
'tbl_dump.php'. Les fichiers d'exportation Bzip2 ne semblent pas fonctionner.
Avec Konqueror 2.2.1 : les fichiers d'exportation simples fonctionnent;
les fichiers d'exportation zip sont placés dans le
répertoire temporaire de l'utilisateur, aussi, ils doivent
être déplacés avant de fermer Konqueror, sinon ils
disparaissent. Les fichiers d'exportation GZip donnent un message d'erreur.
Des tests ont besoin d'être réalisés pour Konqueror 2.2.2.
MS Internet Explorer semble être très bogué
à propos des cookies, au moins jusqu'à la version 6. Et
grâce à Andrew Zivolup, nous avons également
repéré un bogue PHP 4.1.1 dans ce domaine!
Donc, si vous exécutez PHP 4.1.1, essayez de mettre à
jour ou de descendre de version… ça peut marcher !
Mettez à jour au moins en version Internet Explorer 5.5 SP2.
Votre table n'a pas de clé primaire ni de clé unique,
aussi nous devons utiliser une URL longue pour identifier cette ligne.
Il y a une limite de longueur dans ces navigateurs, et cela ne se
produit pas avec Netscape, par exemple. La solution de rechange est de
créer une clé primaire ou une clé unique, ou d'utiliser un autre navigateur.
Certains navigateurs gèrent le clic-droit dans le cadre que
vous voulez rafraîchir, faites cela dans le cadre approprié.
Cela ressemble à un bogue de Mozilla : la version 0.9.6
était OK. Nous garderons ce bogue à l'esprit pour les futures versions de Mozilla.
Ceci est un bogue Mozilla (voir bogue #26882 sur BugZilla).
C'est un bogue connu de Netscape 4.75 : il ajoute des lignes en
exportant des données en mode flux d'octets (octet-stream).
Comme nous ne pouvons pas détecter la version spécifique
de Netscape incriminée, nous ne pouvons pas contourner ce bogue.
Veuillez vous assurer que vous avez paramétré le jeu
de caractères de votre navigateur sur l'un des fichiers de
langue que vous avez choisi dans la page de démarrage de
phpMyAdmin.
Vous pouvez également essayer le mode auto detection, mode qui
est géré par les versions récentes de la plupart
des navigateurs.
Ce problème a été rapporté par un
utilisateur de OS X, qui ajoute que Chimera, Netscape et Mozilla n'ont pas ce problème.
C'est un bogue de Internet Explorer, les autres navigateurs ne se comportent pas de cette manière.
En ayant $cfg['QueryFrameJS'] défini à TRUE, cela
conduit à un bogue dans Opera6, parce qu'il n'est pas capable
d'interpréter les définitions de cadres écrites en
JavaScript. Veuillez mettre à jour vers Opera7 au moins.
Veuillez mettre à jour au moins à la version 1.2.3.
Vérifiez les points suivants :
- Vous avez peut-être défini votre paramètre PmaAbsoluteUri du fichier
config.inc.php avec une adresse IP et vous démarrez
phpMyAdmin avec une URL contenant un nom de domaine, ou inversement.
- Les paramètres de sécurité de Internet Explorer et/ou du Centre de sécurité
Microsoft sont trop elevés et empêchent par conséquent l'exécution des scripts.
- Le pare-feu de Windows bloque Apache et MySQL. Vous devez autoriser les ports http (80 ou 443) et le port MySQL (normalement 3306)
en entrée et en sortie.
Plusieurs utilisateurs ont confirmé que l'extension « Tabbrowser »
qu'ils avaient installé sur leur Firefox est la cause de ce problème.
Utiliser phpMyAdmin
Examinez l'erreur SQL avec attention. Le problème est souvent
provoqué par la spécification d'un mauvais type de champ.
Les erreurs usuelles sont :
- l'utilisation de VARCHAR sans l'argument de taille
- l'utilisation de TEXT ou BLOB avec un argument de taille
Regardez également le chapitre syntaxe dans le manuel MySQL
pour confirmer que votre syntaxe est correcte.
Dans phpMyAdmin 2.2.0 et 2.2.1, c'est la façon de
créer un index multi-champs. Si vous voulez deux index,
créer le premier en créant la table, sauvegardez, puis
affichez les propriétés de la table et cliquez sur le
lien Index pour créer l'autre index.
Depuis la version 2.2.3, il y a une case à cocher pour chaque
champ qui peut être nul. Avant la version 2.2.3, vous deviez
entrer « null », sans les guillemets, comme valeur du champ.
Depuis la version 2.5.5, vous devez utiliser la case à cocher
pour obtenir une réelle valeur NULL, aussi, si vous entrez
« NULL » cela signifie que vous voulez un
NULL littéral dans le champ et non une valeur NULL (cela
fonctionne dans PHP4).
Cliquer sur le nom d'une base de données ou d'une table dans
le cadre de gauche, les propriétés seront
affichées. Ensuite, dans le menu, cliquer sur
« Exporter », vous pouvez exporter la structure, les
données ou les deux. Cela générera des
requêtes SQL qui pourront être utilisées pour
recréer votre base de données ou votre table.
Vous aurez besoin de choisir « Transmettre », de sorte que
phpMyAdmin puisse transmettre le fichier d'exportation résultant
à votre station. En fonction de votre configuration PHP, vous
verrez les options de compression de votre fichier d'exportation. Voir
également la variable de configuration $cfg['ExecTimeLimit'].
Pour une aide supplémentaire sur ce sujet, chercher le mot
« export » dans ce document.
Cliquer sur le nom d'une base de données dans le cadre de
gauche, les propriétés seront affichées. Sélectionnez « Importer »
dans la liste des onglets dans le cadre de droite (ou « SQL » si votre version de phpMyAdmin
est antérieure à la version 2.7.0). Dans la section « Emplacement du fichier texte »,
saisissez votre nom de fichier d'exportation, ou cliquez sur le bouton Afficher. Puis cliquez sur Exécuter.
À partir de la version 2.7.0, le moteur d'importation a été ré-écrit; si possible,
il est suggéré de mettre à jour votre version pour tirer parti des nouvelles fonctionnalités.
Pour de l'aide supplémentaire sur ce sujet, cherchez le mot
« transm » dans ce document.
Voici un exemple avec les tables personnes, villes et pays,
toutes situées dans la base de données mabdd. Si vous
n'avez pas de table pma_relation, créez-la comme cela
est décrit dans la section Configuration.
Ensuite, créez les tables d'exemple :
CREATE TABLE REL_pays (
code_pays char(1) NOT NULL default '',
description varchar(10) NOT NULL default '',
PRIMARY KEY (code_pays)
) TYPE=MyISAM;
INSERT INTO REL_pays VALUES ('C','Canada');
CREATE TABLE REL_personnes (
id tinyint(4) NOT NULL auto_increment,
nom_personne varchar(32) NOT NULL default '',
code_ville varchar(5) default '0',
code_pays char(1) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
INSERT INTO REL_personnes VALUES (11,'Marc', 'S', '');
INSERT INTO REL_personnes VALUES (15,'Paul', 'S', 'C');
CREATE TABLE REL_villes (
code_ville varchar(5) NOT NULL default '0',
description varchar(30) NOT NULL default '',
PRIMARY KEY (code_ville)
) TYPE=MyISAM;
INSERT INTO REL_villes VALUES ('S','Sherbrooke');
INSERT INTO REL_villes VALUES ('M','Montréal');
Pour configurer les liens appropriés et afficher
l'information :
- sur la table « REL_personnes » cliquer sur Structure, puis sur Gestion des relations
- dans Relié à, pour « code_ville » choisir « REL_villes->code_ville »
- dans relié à, pour « code_pays » choisir « REL_pays->code_pays »
- sur la table « REL_villes » cliquer sur Structure, puis Gestion des relations
- dans « Champ à afficher », choisir « Description »
- répétez les deux précedentes étapes pour la table « REL_pays »
Puis tester comme suit :
- cliquer sur votre nom de base de données dans le cadre de gauche
- choisir « Requête »
- utilisez les tables : personnes, villes, pays
- cliquer sur « Mise-à-jour de la requête »
- dans les champs de la ligne, choisissez personnes.nom_personne et cliquez sur la case à cocher « Afficher »
- faites la même chose pour villes.description et pays.description dans les deux autres colonnes
- cliquer sur « Mise-à-jour de la requête » et vous verrez dans la boîte de requête
que la jointure correcte a été générée
- cliquer sur « Exécuter la requête »
À partir de l'exemple précédent, créez
la table pma_table_info comme expliqué dans la section
Configuration, puis parcourez votre table personnes,
et déplacez votre souris au-dessus du code ville ou du code pays.
Voir également la section FAQ 6.21
pour une fonctionnalité additionnelle que « Champ à afficher »
permet : une liste déroulante des valeurs possibles.
D'abord vous devez renseigner les variables de configuration « relation », « table_coords » et
« pdf_pages ».
Ensuite, réfléchissez à la mise en page de votre
schéma : quelles tables iront sur quelles pages.
- Sélectionnez votre base de données dans le cadre de gauche.
- Choisissez « Opérations » dans la barre de navigation en haut.
- Choisissez « Préparer le schéma en PDF » vers le bas de la page.
- Entrez le nom de la première page pdf et cliquez sur « Exécutez »
Vous pouvez également utiliser la « Mise en page automatique », qui placera sur votre page toutes les tables qui
sont liées).
- Sélectionnez le nom de la nouvelle page (en vous assurant que le bouton radio « Modifier » est
sélectionné) et cliquez sur « Exécuter ».
- Sélectionnez une table dans la liste, entrez ses coordonnées et cliquez sur « Enregistrer ».
Les coordonnées sont relatives; votre diagramme s'ajustera
automatiquement à l'échelle de la page.
Lors du placement initial des tables, choisissez juste des coordonnées --
disons 50x50. Après avoir cliqué sur « Enregistrer », vous pouvez utiliser l'éditeur graphique pour placer correctement l'élément.
- Quand vous voudrez regarder votre PDF, assurez-vous d'abord de cliquer sur le bouton
« Enregistrer » sous la liste des tables et des coordonnées pour enregistrer les changements que vous y avez fait. Puis faites défiler vers le bas, sélectionnez les options PDF que vous voulez
et cliquer sur « Exécuter ».
- Internet Explorer pour Windows peut proposer un nom de fichier incorrect quand
vous essayez d'enregistrer le fichier PDF généré. Quand vous enregistrez un fichier
PDF généré, assurez-vous que son nom se termine par « .pdf », par exemple
« schema.pdf ». Les navigateurs sur les autres systèmes d'exploitation et les autres navigateurs
sous Windows n'ont pas ce problème.
Non, c'est MySQL qui fait des changements
silencieux de type de colonne.
Si vous ne mettez pas de barre oblique inverse (backslash) avant le
trait de soulignement, c'est un méta-caractère pour les
autorisations, et le trait de soulignement signifie « tout
caractère ». Aussi, si le nom de base de données est
« john_db », l'utilisateur aura des droits sur john1db,
john2db…
Si vous mettez une barre oblique inverse devant le trait de
soulignement, cela signifie que le nom de la base de données
aura un vrai trait de soulignement.
Il signifie « moyenne ».
Structure :
- « Inclure des énoncés "DROP TABLE" » ajoutera une ligne disant à MySQL de supprimer la table
si elle existe déjà pendant l'importation. Cela ne supprime PAS la table après
votre export, cela n'affecte que le fichier d'importation.
- « Ajouter "IF NOT EXISTS" » créera seulement la table si elle n'existe pas.
Sinon, vous pouvez obtenir une erreur si le nom de table existe mais qu'elle a une structure différente.
- « Inclure la valeur courante de l'AUTO_INCREMENT » assure que la valeur AUTO_INCREMENT
(s'il y en a une) sera incluse dans la sauvegarde.
- « Protéger les noms des tables et des champs par des "`" » assure que les noms de champ et de table contenant des caractères spéciaux sont protégés.
- "Inclure sous forme de commentaires" inclut les
commentaires des colonnes, les relations et les types MIME
définis dans la base de données PMA-DB dans le fichier
d'exportation en tant que commentaires SQL (/* xxx */).
Données :
- « Insertions complètes » ajoutes les noms de colonne sur chaque commande INSERT, pour une meilleure documentation (mais le fichier résultant est plus gros).
- « Insertions étendues » fournit une fichier d'exportation plus petit en utilisant seulement une fois INSERT et le nom de la table.
- « Insertions avec délais (DELAYED) » sont très bien expliqués dans le Manuel MySQL.
- « Ignorer les erreurs de doublons (INSERT IGNORE) » traite les erreurs comme des avertissements. À nouveau, vous pourrez trouver plus de détails dans le Manuel MySQL, mais en gros, avec cette option, les valeurs invalides sont ajustées et insérées plutôt que de provoquer l'échec de la déclaration tout entière.
C'est une mauvaise idée, car dans MySQL la syntaxe
« database.table » est la manière normale de
référencer une base de données et un nom de table.
Pire, MySQL
vous laissera normalement créer cette base de données
avec un point, mais alors vous ne pourrez pas travailler avec, ni la
supprimer.
Pour l'utiliser, vous avez besoin d'une version très
récente de PHP, la version 4.3.0
est recommandée, avec la gestion de
XML,
PCRE et
PEAR.
Sur votre système, en mode ligne de commande, exécuter
« pear install Net_Socket Net_URL HTTP_Request Mail_Mime Net_DIME SOAP » pour obtenir les modules
PEAR nécessaires à son utilisation.
Sur une version pear plus récente, j'ai eu des problèmes
car Net_DIME était en version beta, aussi, cette simple commande
« pear -d preferred_state=beta install -a SOAP » a installé tous les
modules nécessaires.
Si vous utilisez le Validateur, soyez conscient que toute requête SQL que
vous exécutez sera stockée de manière anonyme
(noms de base de données/table/colonne, chaînes,
nombres sont remplacés avec des valeurs
génériques). Le Mimer SQL Validator,
est sous copyright © 2001 Upright Database Technology. Nous
l'utilisons en tant que service SOAP gratuit.
La bonne manière de faire cela, est de créer un champ
sans index, puis d'afficher la structure de la table et d'utiliser le
dialogue « Créer une clef ». Sur cette page, vous
pourrez alors choisir votre champ BLOB, et définir une taille
pour l'index sur un champ BLOB.
Vous pouvez utiliser Ctrl + flèches de direction (Option + flèches de direction dans Safari) sur la plupart des pages
remplies de champs modifiables (structure de table, ligne modifiable,
etc.) (ceci doit être activé dans la configuration - voir
$cfg['CtrlArrowsMoving'])). Vous pouvez également consulter la
directive $cfg['DefaultPropDisplay'] ('vertical')
et voir si cela vous aide pour les modifications.
Du calme :). Définir des types mime n'a pas d'utilité
si on ne peut pas mettre de transformations dessus. Sinon vous pouvez
seulement mettre un commentaire sur le champ. En entrant votre propre
type mime, vous causerez de sérieux problèmes de
vérification de syntaxe et de validation, et introduirez une
situation de grand risque de mauvaise interprétation de saisie
de l'utilisateur. Au lieu de cela, vous pouvez initialiser des types
mime en utilisant des fonctions ou des définitions de types mime
vides.
De plus, vous avez une vue d'ensemble de tous les types mime
disponibles. Qui connaît tous ces types mime par coeur de sorte
qu'il puisse les entrer à volonté ?
Toute requête que vous exécutez peut être
stockée en tant que signet sur la page où sont
affichés les résultats. Vous trouverez un bouton
intitulé 'Conserver cette requête dans les signets' juste
à la fin de la page.
Dès que vous avez stocké un signet, il est relié
à la base de données dans laquelle vous avez
exécuté la requête. Vous pouvez maintenant avoir
accès à une liste déroulante de signets sur
chacune des pages sur lesquelles la boîte de requête
apparaît sur cette base de données.
Depuis phpMyAdmin 2.5.0, vous pouvez également stocker des
variables pour les signets. Utilisez juste la chaîne /*['VARIABLE']*/
n'importe où dans votre requête. Tout ce qui est mis dans
la boîte de saisie valeur sur la page de la boîte
de requête remplacera la chaîne
« /*['VARIABLE']*/ » dans votre requête stockée.
Notez que vous DEVEZ créer une requête valide, sinon elle
ne sera même pas stockée dans votre base de données.
Rappelez-vous également que tout ce qui se trouve à
l'intérieur de la chaîne /*['VARIABLE']*/
pour votre requête restera en l'état, mais sera
débarassé des caractères /**/ . Donc vous pouvez
utiliser :
/*, ['VARIABLE'] AS myname */
qui sera reproduit en
, VARIABLE as myname
dans votre requête, où VARIABLE est la chaîne que
vous avez saisie dans la boîte de saisie. Si une chaîne
vide est fournie, aucun remplacement ne sera effectué.
Un exemple plus complexe. Disons que vous avez stocké cette
requête :
SELECT Name, Address FROM addresses WHERE 1 /* AND Name LIKE '%['VARIABLE']%' */
Imaginons que vous saisissiez « phpMyAdmin » comme variable
pour votre requête stockée,
la requête complète sera :
SELECT Name, Address FROM addresses WHERE 1 AND Name LIKE '%phpMyAdmin%'
Vous pouvez utiliser de multiples occurrences de /*['VARIABLE']*/
dans une seule requête.
REMARQUEZ L'ABSENCE D'ESPACES à l'intérieur de la
construction « /**/ ». Tout espace inséré sera
plus tard également inséré en tant qu'espace dans
votre requête et peut conduire à des résultats
inattendus, particulièrement en utilisant l'expansion de
variable dans une expression « LIKE '' ».
Votre requête initiale que vous voulez stocker comme signet doit
produire au moins une ligne de résultat pour pouvoir être
stockée. Vous aurez peut-être besoin de tâtonner
pour bien positionner les commentaires « /**/ ».
Vous pouvez inclure simplement une table dans vos documents LATEX ,
un exemple de document minimaliste devrait ressembler à celui
qui suit (en supposant que vous avez une table exportée dans le
fichier table.tex) :
\documentclass{article} % ou toute classe que vous désirez
\usepackage{longtable} % pour afficher la table
\begin{document} % début du document
\include{table} % inclure la table exportée
\end{document} % fin du document
Faire la mise à jour vers MySQL 4 donne habituellement aux
utilisateurs les privilèges globaux suivants :
CREATE TEMPORARY TABLES, SHOW DATABASES, LOCK TABLES. Ces
privilèges permettent également aux utilisateurs de voir
tous les noms de bases de données.
Voir ce rapport de bogue.
Donc si vos utilisateurs n'ont pas besoin de ces privilèges,
vous pouvez les supprimer et la liste de leurs bases de données
sera raccourcie.
Vous devez configurer les liens appropriés entre les tables,
ainsi que le « champ à afficher » (display field) dans
la table étrangère. Voir la section
FAQ 6.6 pour un exemple.
Ensuite, s'il y a 200 valeurs ou moins dans la table
étrangère, une liste déroulante des valeurs sera
disponible. Vous verrez deux listes de valeurs, la première
liste contenant la clé et le champ à afficher, la seconde
liste contenant le champ à afficher et la clé. La raison
de cela est de permettre de taper la première lettre soit de la
clé, soit du champ à afficher.
Pour 200 valeurs et plus, une fenêtre distincte apparaîtra,
pour naviguer dans les valeurs des clés étrangères
et en choisir une.
Oui. Si un signet a le même label qu'un nom de table, il sera exécuté.
La version actuelle gère directement l'exportation aux formats Microsoft Excel et Word de version 2000 et ultérieures. Si vous avez besoin d'exporter d'anciennes versions, vous pouvez utiliser le format CSV
approprié pour MS Excel, qui fonctionne tel quel, soit essayer l'exportation expérimentale au format natif MS Excel.
Cette exportation a plusieurs problèmes, les plus importants étant la limitation du contenu
d'une cellule à 255 caractères et l'absence de support pour les jeux de caractères, aussi réfléchissez bien avant d'utiliser cette option. Pour activer cette option,
vous devez paramétrer $cfg['TempDir'] dans un répertoire où
un utilisateur du serveur Web a les droits d'écriture (par exemple, ./tmp) et vous devez installer le module PEAR
Spreadsheet_Excel_Writer dans le chemin d'accès « include » de php.
L'installation peut être faite à l'aide de la commande suivante :
pear -d preferred_state=beta install -a Spreadsheet_Excel_Writer
Dans la première partie des options, nous indiquons que nous voulons installer une version beta de ce module
(pas de version stable disponible pour le moment) et nous indiquons ensuite à pear que nous voulons satisfaire aux
dépendances.
Si vous exécutez PHP en mode sécurisé, vous devrez définir dans le fichier
php.ini, la variable safe_mode_include_dir avec le nom du répertoire
dans lequel vos modules PEAR sont situés, par exemple :
safe_mode_include_dir = /usr/local/lib/php
Pour créer un répertoire temporaire sur un système basé sur UNIX, vous pouvez faire ceci :
cd phpMyAdmin
mkdir tmp
chmod o+rwx tmp
La migration automatique des commentaires de colonne de style pmadb d'une table vers le format natif est effectuée chaque fois que vous entrez dans la page Structure pour cette table.
Projet phpMyAdmin
Notre Bug Tracker est situé sur http://sourceforge.net/projects/phpmyadmin/
sous la section Bugs.
Mais s'il vous plaît, veuillez d'abord en discuter avec d'autres utilisateurs :
http://sourceforge.net/projects/phpmyadmin/ (puis choisir Forums).
Commencez toujours par utiliser la version en cours sur le CVS pour
votre langue. Pour une nouvelle langue, commencer à partir de english-iso-8859-1.inc.php.
Si vous ne savez pas comment obtenir la version CVS, veuillez demander
à un des développeurs.
Veuillez noter que nous essayons de ne pas utiliser d'entités
HTML comme é dans les traductions, puisque nous utilisons le
bon jeu de caractères dans le fichier.
Avec les entités HTML, le texte dans les messages JavaScript
pourrait ne pas être affiché correctement. Cependant, il y
a certaines entités qui ont besoin d'y figurer, pour les
guillemets anglais « " » , les espaces non sécables,
le « et » commercial « & » , inférieur
à « < » , supérieur à
« > ».
Vous pouvez donc joindre votre traduction, en tant que fichier zip pour
éviter de perdre les caractères spéciaux, sur le
traqueur de traduction sur sourceforge.net.
Ce serait une bonne idée de vous abonner à la liste de
diffusion phpmyadmin-translators, parce que c'est là que nous
demandons la traduction de nouveaux messages.
La méthode suivante est préférable pour les nouveaux développeurs :
- télécharger l'arbre CVS en cours en connexion anonyme :
cvs -d:pserver:anonymous@phpmyadmin.cvs.sourceforge.net:/cvsroot/phpmyadmin login
['Mot de passe : taper simplement sur la touche Entrée']
cvs -z3 -d:pserver:anonymous@phpmyadmin.cvs.sourceforge.net:/cvsroot/phpmyadmin checkout phpMyAdmin
['Ceci créera un nouveau sous-répertoire appelé phpMyAdmin']
- ajouter votre travail
- mettre les fichiers modifiés (au format tar ou gzip) dans le traqueur de patches sur le
compte SourceForge phpMyAdmin.
L'accès en écriture à l'arbre CVS est
autorisé seulement aux développeurs
expérimentés qui ont déjà contribué
de manière utile à phpMyAdmin.
Veuillez également consulter la section
Développeurs.
Sécurité
Veuillez consulter http://www.phpmyadmin.net/home_page/security.php.
Information pour les développeurs
phpMyAdmin est un logiciel Open Source, aussi vous êtes
invités à y contribuer. Beaucoup de fonctionnalités ont été
écrites par d'autres personnes et vous aussi vous pouvez aider
à faire de phpMyAdmin un outil utile.
Si vous projetez de contribuer aux sources, veuillez lire les informations suivantes :
- Tous les fichiers y compris libraries/header.inc.php (mise en
page), libraries/common.lib.php
(fonctions communes) et config.inc.php.
Seules les données de configuration doivent se trouver dans le fichier config.inc.php.
Veuillez le gardez exempt de tout autre code.
Les fonctions d'utilisation commune doivent être ajoutées à libraries/common.lib.php et les plus
spécifiques peuvent être ajoutées dans une
bibliothèque stockée dans le sous-répertoire libraries.
- Évidemment, vous êtes libres d'utiliser le style de codage que vous voulez.
Mais s'il vous plaît, veuillez garder votre code aussi simple que
possible : les débutants utilisent phpMyAdmin comme application d'exemple.
Autant que possible, nous voulons que les scripts soient conformes aux
règles XHTML1.0 et CSS2 d'une part, et aux normes
de codage PEAR d'autre part. Veuillez y prêter attention.
- Veuillez respecter les conventions de nommage de fichiers. Ce
qui est relatif aux tables s'écrit tbl_*.php, le code relatif aux bases de données s'écrit db_*.php,
les outils relatifs aux serveurs s'écrivent server_*.php et ainsi de suite.
- Veuillez ne pas utiliser de chaînes « verbeuses »
(verbose) dans votre code, plutôt, ajoutez la chaîne (au moins) dans le fichier english-iso-8859-1.inc.php
et faites un print().
- Si vous voulez être vraiment utile, ajoutez une entrée dans le fichier ChangeLog.
- L'extension DBG (PHP Debugger DBG)
est maintenant gérée par phpMyAdmin pour permettre aux
développeurs de mieux déboguer et analyser leur code.
Veuillez consulter les options de configuration de $cfg['DBG']*
pour plus d'informations.
Ceci est dédié à la mémoire de la navette
spatiale Columbia (STS-107) qui fut détruite lors de sa
rentrée dans l'atmosphère de la Terre et à la
mémoire des hommes et des femmes courageux qui ont donné
leur vie pour les habitants de la Terre.
Crédits
phpMyAdmin - Crédits
====================
CRÉDITS, par ordre chronologique
---------------------------------------------
- Tobias Ratschiller <tobias_at_ratschiller.com>
* créateur du projet phpMyAdmin
* mainteneur de 1998 à l'été 2000
- Marc Delisle <Marc.Delisle_at_cegepsherbrooke.qc.ca>
* version multilingue
* divers correctifs et améliorations
* analyste SQL (la plus grande partie)
* mainteneur actuel du projet
- Olivier Müller <om_at_omnis.ch>
* démarrage du projet SourceForge phpMyAdmin en mars 2001
* synchronisation des différents arbres CVS existants avec de nouvelles fonctionnalités et correctifs
* améliorations multilingue, sélection dynamique de langue
* mainteneur actuel du projet
* beaucoup d'améliorations et de correctifs
- Loïc Chapeaux <lolo_at_phpheaven.net>
* ré-écriture et optimisation JavaScript, DHTML et DOM
* ré-écriture des scripts pour qu'ils soienbt conformes aux normes de codage PEAR, génération de codes conformes à XHTML1.0 et CSS2
* amélioration du système de détection de langue
* beaucoup d'améliorations et de correctifs
- Robin Johnson <robbat2_at_users.sourceforge.net>
* contrôles de maintenance de base de données
* table type code
* authentification IP hôte Allow/Deny
* configuration basée sur une base de données (non achevée)
* analyser SQL et mise en page améliorée
* valideur SQL
* beaucoup d'améliorations et de correctifs
- Armel Fauveau <armel.fauveau_at_globalis-ms.com>
* fonctionnalité signet
* fonctionnalité fichier d'exportation multiple
* fonctionnalité fichier d'exportation gzip
* fonctionnalité fichier d'exportation zip
- Geert Lund <glund_at_silversoft.dk>
* divers correctifs
* modérateur du précédent forum des utilisateurs de phpMyAdmin sur phpwizard.net
- Korakot Chaovavanich <korakot_at_iname.com>
* fonctionnalité « Insérer en tant que nouvel enregistrement »
- Pete Kelly <webmaster_at_trafficg.com>
* ré-écriture et correction du code pour l'exportation
* correctifs
- Steve Alberty <alberty_at_neptunlabs.de>
* ré-écriture et correction du code pour l'exportation pour PHP4
* statistiques de tables mySQL
* correctifs
- Benjamin Gandon <gandon_at_isia.cma.fr>
* auteur principal de la version 2.1.0.1
* correctifs
- Alexander M. Turek <me_at_derrabus.de>
* compatibilité MySQL 4.0 / 4.1 / 5.0
* abstraction de l'interface de base de données (PMA_DBI) avec support de MySQLi
* administration des privilèges
* exports XML
* divers correctifs et fonctionnalités
* mise à jour du fichier de langue allemande
- Mike Beck <mike.beck_at_web.de>
* jointures automatiques dans QBE
* liens de colonne dans « Version imprimable »
* vue « Gestion des relations »
- Michal Čihař <michal_at_cihar.com>
* fonctionnalité de création/affichage d'index amélioré
* fonctionnalité pour utiliser un jeu de caractères différent pour l'HTML par rapport à MySQL
* amélioration de la fonctionnalité exportation
* divers correctifs et fonctionnalités
* mise à jour du fichier de langue tchèque
- Christophe Gesché de « Générateur de formulaires MySQLpour PHPMyAdmin » (http://sourceforge.net/projects/phpmysqlformgen/)
* suggestion du patch pour les versions imprimables de tables multiples
- Garvin Hicking <me_at_supergarv.de>
* patch pour l'affichage vertical d'enregistrements de table
* écriture de la fenêtre de requête basée sur Javascript based Query et de l'historique SQL
* améliorations des commentaires de colonne/base de données
* transformations MIME pour les colonnes
* utilisations d'alias personnalisés pour les nom de bases de données dans le cadre de gauche
* affichage de table hiérarchique/imbriqué
* éditeur visuel PDF pour des distributions WYSIWYG en PDF des relations
* nouveaux jeux d'icônes
* affichage vertical de la page de propriétés de colonne
* quelques correctifs, fonctionnalités, aide, ajouts dans le fichier de langue allemande
- Yukihiro Kawada <kawada_at_den.fujifilm.co.jp>
* fonctionnalité de conversion de code en japonais (kanji)
- Piotr Roszatycki <d3xter_at_users.sourceforge.net> et Dan Wilson
* le mode d'authentification par cookie
- Axel Sander <n8falke_at_users.sourceforge.net>
* fonctionnalité liens de relation de table
- Maxime Delorme <delorme.maxime_at_free.fr>
* génération de schéma PDF, merci également à Olivier Plathey pour la bibliothèque « FPDF » (voir http://www.fpdf.org/) et à Steven Wittens pour la bibliothèque « UFPDF » (voir http://www.acko.net/node/56).
- Olof Edlund <olof.edlund_at_upright.se>
* serveur valideur SQL
- Ivan R. Lanin <ivanlanin_at_users.sourceforge.net>
* Logo phpMyAdmin (jusqu'à juin 2004).
- Mike Cochrane <mike_at_graftonhall.co.nz>
* bibliothèque blowfish du projet Horde
- Marcel Tschopp <ne0x_at_users.sourceforge.net>
* gestion de mysqli
* corrections de beaucoup de bogues et améliorations
- Michael Keck <mkkeck_at_users.sourceforge.net>
* reconception pour la 2.6.0
* logo voilier de phpMyAdmin (juin 2004).
- Mathias Landhäußer
* Représentation aux conférences.
- Sebastian Mendel <cybot_tm_at_users.sourceforge.net>
* Améliorations de l'interface
* divers correctifs
Et aussi les personnes suivantes qui ont contribué à des changements mineurs, des améliorations, des correctifs ou la gestion d'une nouvelle langue depuis la version 2.1.0 :
Bora Alioglu, Ricardo ?, Sven-Erik Andersen, Alessandro Astarita, Péter Bakondy, Borges Botelho, Olivier Bussier, Neil Darlow, Mats Engstrom, Ian Davidson, Laurent Dhima, Kristof Hamann, Thomas Kläger, Lubos Klokner, Martin Marconcini, Girish Nair, David Nordenberg, Andreas Pauley, Bernard M. Piller, Laurent Haas, « Sakamoto », Yuval Sarna, www.securereality.com.au, Alexis Soulard, Alvar Soome, Siu Sun, Peter Svec, Michael Tacelosky, Rachim Tamsjadi, Kositer Uros, Luís V., Martijn W. van der Lee, Algis Vainauskas, Daniel Villanueva, Vinay, Ignacio Vazquez-Abrams, Chee Wai, Jakub Wilk, Thomas Michael Winningham, Vilius Zigmantas, « Manuzhai ».
Crédits originaux de la version 2.1.0
----------------------------------------------
Ce travail est basé sur MySQL-Webadmin de Peter Kuppelwieser. C'était son idée de créer une interface web pour MySQL en utilisant PHP3. Bien que je n'ai pas utilisé son code source, il y a quelques concepts que je lui ai empruntés. phpMyAdmin a été créé car Peter m'avait dit qu'il ne continuerait pas de futur développement de son (génial) outil. Merci également à :
- Amalesh Kempf <ak-lsml_at_living-source.com> qui a contribué au code pour la vérification lors de la suppression d'une table ou
d'une base de données. Il a également suggéré que vous devriez être en mesure de spécifier une clé primaire sur tbl_create.php3. Pour la version 1.1.1, il a contribué au jeu de fichiers ldi_*.php3-set (importation de fichiers texte) et aussi au rapport de bogues. Plus beaucoup de petites améliorations.
- Jan Legenhausen <jan_at_nrw.net> : Il a fait une grande partie des changements qui furent introduits dans la version 1.3.0 (y compris des changement vraiment significatifs comme l'authentification). Pour la version 1.4.1, il a amélioré la fonctionnalité d'exportation de table. Plus des correctifs et de l'aide.
- Marc Delisle <DelislMa_at_CollegeSherbrooke.qc.ca> a rendu phpMyAdmin indépendant de la langue en extrayant les chaînes dans
un fichier séparé. Il a également contribué à la traduction française.
- Alexandr Bravo <abravo_at_hq.admiral.ru> qui a contribué à tbl_select.php3, une fonctionnalité pour afficher seulement
quelques champs d'une table.
- Chris Jackson <chrisj_at_ctel.net> a ajouté la gestion des fonctions MySQL dans tbl_change.php3. Il a également ajouté la fonctionnalité « Query by Example » dans la version 2.0.
- Dave Walton <walton_at_nordicdms.com> a ajouté la gestion de serveurs multiples et est un contributeur régulier pour les correctifs.
- Gabriel Ash <ga244_at_is8.nyu.edu> a contribué à la fonctionnalité d'accès aléatoire dans la version 2.0.6.
Les personnes suivantes ont contribué à des changements mineurs, des améliorations, des correctifs ou la gestion d'une nouvelle langue :
Jim Kraai, Jordi Bruguera, Miquel Obrador, Geert Lund, Thomas Kleemann, Alexander Leidinger, Kiko Albiol, Daniel C. Chao, Pavel Piankov, Sascha Kettler, Joe Pruett, Renato Lins, Mark Kronsbein, Jannis Hermanns, G. Wieggers.
Et merci à tous les autres qui m'ont envoyé des courriels avec des suggestions, des rapports de bogues ou juste des réactions.
Glossaire
de Wikipedia, l'encyclopédie libre
- .htaccess
- Les fichiers .htaccess sont des fichiers de configuration des serveurs Web Apache. Ils peuvent être placés dans n'importe quel répertoire du site Web (la configuration s'applique au répertoire et à tous les répertoires qu'il contient) et peuvent être modifiés alors que le serveur est en cours d'exécution.
- base de données
- Une base de données, généralement appelée BD est un ensemble structuré et organisé permettant le stockage magnétique de grandes quantités d'informations afin d'en faciliter l'exploitation (ajout, mise à jour, recherche de données).
- DB - Voir base de données.
- Blowfish
- Blowfish est un algorithme de chiffrement symétrique (c-à-d. « à clef secrète ») par blocs conçu par Bruce Schneier en 1993. Il tire son nom du poisson-lune japonais (ou fugu), qui en est également l'emblème.
- bzip2
- bzip2 est un logiciel libre de compression de données sous UNIX qui utilise l'algorithme de Burrows-Wheeler avec le codage de Huffman. Le taux de compression est meilleur que celui de l'outil classique gzip et tend à le remplacer pour la distribution de logiciels UNIX.
Son extension est .bz2.
- CGI (Common Gateway Interface)
- La Common Gateway Interface (littéralement « Interface passerelle commune »), généralement abrégée CGI, est une technologie des serveurs HTTP. Ce dernier, au lieu de renvoyer le contenu d'un fichier (image ou HTML), exécute un programme puis retourne le contenu généré, comme s'il s'agissait d'un contenu de fichier.
- Champ
- Un champ ou rubrique de base de données est la plus petite information d'une table de base de données qui représente en colonne une catégorie d'information, comme un nom ou une adresse.
- Changelog
- Un ChangeLog, littéralement Journal des modifications (en anglais), désigne souvent un fichier qui contient l'énumération de ce que les personnes collaborant à un projet ont effectué comme travail sur ce dernier. Ce fichier est souvent un simple fichier texte, assez brut, avec éventuellement des sections correspondant aux différentes sous-parties du projet.
- Cléétrangère
- Une clé étrangère est un champ de base de données de type clé primaire inscrit dans une table secondaire ou table fille permettant la jointure à la table primaire ou table parent.
- Client-serveur
- L'architecture client-serveur désigne un mode de communication entre des ordinateurs ou des logiciels. Les mots « serveur » et « client » peuvent soit désigner les ordinateurs, on parle alors de serveur informatique et de poste client ; soit désigner les logiciels fonctionnant sur ces ordinateurs, on parle alors de logiciel serveur ou de logiciel client.
- Colonne
- En informatique, la colonne dans une base de données est une forme d'organisation des données ;
- Cookie
- En informatique, un cookie est défini par le HTTP comme étant une suite d'informations envoyée par un serveur HTTP à un client HTTP, que ce dernier retourne lors de chaque interrogation du même serveur HTTP.
- CSV
- CSV est un format informatique ouvert représentant des données tabulaires. CSV est l'abréviation de l'anglais « comma-separated values », valeurs séparées par des virgules.
- Extension
- un module PHP qui étend PHP avec des fonctionnalités supplémentaires.
- ISP (Internet service provider)
- Un fournisseur d'accès à Internet (FAI), est un organisme (généralement une entreprise) offrant une connexion au réinformatique Internet. Le terme anglais déun FAI est Internet Service Provider (ISP).
- FAQ (Foire Aux Questions)
- La Foire Aux Questions, ou FAQ, (acronyme anglais pour Frequently Asked Questions, Questions fréquemment posées) tient de la tradition sur Internet. Ce terme désigne au départ les synthèses périodiques des messages récurrents postés sur Usenet dans les news groups afin d'éviter que les mêmes questions soient toujours reposées.
- FPDF (FreePDF)
- La bibliothèque PDF libre.
- GD Graphics Libraryen
- Une bibliothèque de Thomas Boutell et d'autres pour la manipulation dynamique d'images.
- GD2 - Voir GD Graphics Library.
- Gzip
- Gzip, pour GNU zip, est un logiciel libre, standard ouvert, utilitaire de compression, qui a été créé pour remplacer le programme compress d'Unix.
- Hôte
- Toute machine connectée à un réseau informatique, un nœud qui a un nom d'hôte.
- HTTP (HyperText Transfer Protocol)
- Le Hypertext Transfer Protocol, abrégé HTTP, littéralement « protocole de transfert hypertexte », est un protocole de communication informatique client-serveur développé pour le World Wide Web.
- HTTPS
- HTTPS (Secured) est la variante du HTTP sécurisé avec les protocoles SSL ou TLS.
- IIS (Internet Information Services)
- Internet Information Services, plus connu sous l'abréviation IIS, est un serveur HTTP et/ou FTP créé par Microsoft pour ses systèmes d'exploitation Windows.
- Indexen
- Une fonctionnalité qui permet un accès rapide aux lignes d'une table.
- IP (Protocole Internet)
- (en anglais Internet Protocol ou IP). Le protocole Internet gère le transport et le routage des paquets sur le réseau décrit dans la RFC 791.
- ISAPI (Internet Server Application Programming Interface)en
- L'API of Internet Information Services (IIS).
- JPEG
- JPEG est un acronyme de Joint Photographic Experts Group, nom d'un comité créé en 1986 résultant de la fusion de plusieurs groupes (d'où le joint) de professionnels de l'industrie de l'image. Ce comité a donné son nom à la norme ouverte de compression d'images numériques JPEG.
- JPG - Voir JPEG.
- LATEX
- LaTeX (Lamport TEX) est un système logiciel de composition de documents, ou plus exactement : une collection de macro-commandes destinées à faciliter l'utilisation du « processeur de texte » TEX.
- Lignes (enregistrement, tuple)
- Représente un seul élément de donnée structuré implicitement dans une table.
- Mac (Apple Macintosh)
- Les Macintosh, ou Mac, sont des ordinateurs personnels fabriqués et commercialisés par la société Apple Computer depuis janvier 1984. Ils cohabitent sur le marché des ordinateurs personnels avec les PC.
- Mac OS X
- Mac OS X est le système d'exploitation propriétaire fourni avec l'ordinateur Macintosh d'Apple Computer, depuis 2001 et distribué également séparément pour des modèles antérieurs.
- MCrypten
- Une bibliothèque cryptographique.
- MIME (Multipurpose Internet Mail Extensions)
- Multipurpose Internet Mail Extensions (MIME) est un format de données permettant d'introduire dans les messages SMTP (courriels) différents types de fichiers multimédias.
- Moduleen
- Sorte d'extension pour le serveur Web Apache.
- Moteurs de stockage (Storage Engines)en
- Gestionnaires pour différents type de tables
- MySQL
- MySQL (SQL est acronyme de Structured Query Language en anglais) est un serveur de bases de données relationnelles SQL très rapide, multi-thread, robuste et multi-utilisateurs.
- mysqli
- L'extension client PHP de MySQL améliorée.
- mysql
- L'extension client PHP de MySQL.
- Navigateur Web
- Un navigateur Web est un logiciel conçu pour consulter le World Wide Web. Techniquement, c'est un client HTTP.
- Nom d'hôteen
- Le nom unique par lequel est connu un équipement attaché au réseau sur celui-ci.
- OpenDocument
- OpenDocument est un format ouvert de données pour les applications bureautiques : traitements de texte, tableurs, présentations, diagrammes, dessins et base de données bureautique.
- OS X
- Voir Mac OS X.
- PDF
- Portable Document Format, un format de fichier informatique universel créé par la société Adobe Systems pour la diffusion des documents (de types texte, affiche, diapositive, plan, formulaires interactifs…);
- PEAR (PHP Extension and Application Repository)
- PEAR (« poire ») est décrit comme étant le « fruit » de PHP. À savoir, PEAR (pour PHP Extension and Application Repository) est à PHP ce que CPAN est à Perl et CTAN à TeX : une archive stockant de la façon la plus exhaustive possible des programmes, des macros et de la documentation.
- PCRE (Perl Compatible Regular Expressions)
- Expressions rationnelles compatibles Perl pour PHP
- PHP
- PHP (venant de l'acronyme récursif PHP : Hypertext Preprocessor), est un langage de script libre principalement utilisé pour être exécuté par un serveur HTTP, mais il peut fonctionner comme n'importe quel langage interprété en utilisant les scripts et son interpréteur sur un ordinateur.
- Port
- Correspondant à la couche session du modèle OSI, la notion de port logiciel permet, sur un ordinateur donné, de distinguer différents interlocuteurs. Ces interlocuteurs sont des programmes informatiques qui, selon les cas, écoutent ou émettent des informations sur ces ports.
- RFC
- Les « request for comment » (RFC, littéralement demande de commentaires) sont une série de documents et normes concernant l'Internet, commencée en 1969. Peu de RFC sont des standards, mais tous les standards de l'Internet sont enregistrés en tant que RFC.
- RFC 1952en
- Spécification du format de fichier GZIP version 4.3
- Serveur
- Un serveur informatique, appelé serveur lorsque le contexte s'y prête, est un ordinateur ou un programme informatique qui partage un service.
- Serveur Web
- Le terme serveur Web désigne : un ordinateur tenant le rôle de serveur informatique sur lequel fonctionne un logiciel serveur HTTP ou le logiciel serveur HTTP lui-même.
- socket
- Il s'agit d'une interface logicielle avec les services du système d'exploitation, grâce à laquelle un développeur exploitera facilement et de manière uniforme les services d'un protocole réseau.
- SSL (Secure Sockets Layer)
- SSL est un protocole de sécurisation des échanges sur Internet, développé à l'origine par Netscape (SSL version 2 et SSL version 3).
- SQL
- Structured query language (SQL), ou langage structuré de requêtes, est un langage informatique standard et normalisé, destiné à interroger ou manipuler une base de données relationnelle.
- Tableen
- Un ensemble d'éléments de données (cellules) qui est organisé, défini et stocké en lignes et en colonnes où chaque élément est identifié par un libellé ou une clé unique
ou par sa position par rapport aux autres éléments.
- TAR
- TAR (de l'anglais Tape ARchiver, littéralement « archive sur bande ») est l'outil d'archivage de fichiers standard de UNIX. On appelle parfois le fichier d'archivage créé un « tarball ».
- TCP (Transmission Control Protocol)
- Le Transmission Control Protocol (TCP, « protocole de contrôle de transmissions »), est un protocole de transport fiable, en mode connecté, documenté dans la RFC 793 de l'IETF.
- UFPDFen
- Extension Unicode/UTF-8 pour FPDF
- URL (Uniform Resource Locator)
- Une adresse réticulaire (du latin rete qui signifie « filet » donc par extension réseau) est une chaîne de caractères utilisée pour identifier les ressources dans le World Wide Web.
- XML (Extensible Markup Language)
- Extensible Markup Language (« langage de balisage extensible »), généralement abrégé XML, est un standard du World Wide Web Consortium qui sert de base pour créer des langages de balisage : c'est un « méta-langage ».
- ZIP
- Le ZIP est, en informatique, un format de fichier permettant la compression de données. Le format a été inventé par Phil Katz pour le logiciel PKZIP.
- zliben
- Une bibliothèque de compression de données libre et multiplateforme de Jean-loup Gailly et Mark Adler.
