Documentation phpMyAdmin 2.6.0-dev
Prérequis
- php 4.1.0 ou ultérieur
Si vous voulez afficher des vignettes de fichiers JPEG avec le rapport
hauteur / largeur original, vous aurez également besoin du
module GD2 dans PHP.
- MySQL 3.23.32 ou ultérieur (détails);
- un navigateur (ben ça alors!).
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 :
- créer et supprimer des bases de données,
- créer, copier, supprimer, renommer et modifier
des tables,
- maintenance des tables,
- suppression, modification et ajout de champs,
- exécuter toute requête SQL, même les
requêtes par lot,
- gérer les clés sur les champs,
- transférer des fichiers texte dans des tables,
- créer (*) et lire des fichiers d'exportation (dumps) de
tables,
- exporter des données (*) aux formats CSV, XML 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 ou ...
- 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 47 langues
différentes.
Installation
REMARQUE : 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 MacOS 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
donc 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.
- Éditez le fichier config.inc.php avec votre éditeur
favori et modifiez les valeurs du serveur hôte, de l'utilisateur,
du mot de passe et du mode d'authentification pour vous ajuster
à votre environnement. Ici, «hôte» signifie le
serveur
MySQL. Ajoutez également la valeur correcte pour $cfg['PmaAbsoluteUri'].
Veuillez consulter la section Configuration pour
une explication de ces valeurs.
- Nous vous recommandons de protéger le répertoire
dans lequel vous installez phpMyAdmin (à moins qu'il ne soit sur
un intranet fermé, ou que vous ne souhaitiez utiliser HTTP ou
l'authentification par cookie), par exemple avec HTTP-AUTH (dans un
fichier .htaccess). Voir la sous-section
multi-utilisateurs de la
FAQ pour toute information complémentaire,
particulièrement la partie 4.4 de la FAQ.
- 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.
- Si vous voulez bénéficier de toute une série
de nouveautés (signets, commentaires,
historique-SQL, génération-PDF, transformation des
contenus de champ, etc.), vous devrez créer un ensemble de
tables dans votre base de données. 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 1.23 de la
FAQ).
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. 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.
Mise à jour :
- Veuillez ne pas écraser avec votre ancien fichier
config.inc.php le nouveau
: il pourrait proposer de nouvelles variables
de configuration, et la nouvelle version pourrait dépendre de
celles-ci pour fonctionner correctement. Il est donc recommandé
d'insérer les valeurs propres à votre site dans le
nouveau fichier.
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 : le mot de passe de MySQL n'a pas besoin
d'être défini dans le fichier de configuration de
phpMyAdmin (excepté pour l'utilisateur de contrôle
«controluser» - voir la section
Configuration).
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.
- 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)
et mysql.tables_priv (toutes les colonnes sauf «Grantor»
et «Timestamp»).
Vous devez spécifier les détails pour l'utilisateur de
contrôle dans le fichier config.inc.php dans la section
paramètre $cfg['Servers'][$i]['controluser']& $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!
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, d'avoir une base de
données spéciale pour phpMyAdmin; ce sera expliqué
plus tard).
É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' :
- Anciennement appelé 'avancé' dans les versions
antérieures à la version 2.2.3.
- Introduit dans la version 1.3.0, 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 n'est géré que par PHP s'exécutant en
tant que module de Apache, pas avec CGI.
- Voir également la partie 4.4 de la FAQ
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.
- 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'].
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'].
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'].
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é.
Toutes les données de configuration sont placées dans config.inc.php.
- $cfg['PmaAbsoluteUri'] chaîne
- Définissez ici l'URL complète (avec le chemin
d'accès complet) de la version de votre phpMyAdmin.
C'est-à-dire http://www.votre_site.net/chemin_d_acces_a
votre_repertoire_phpMyAdmin/.
phpMyAdmin a besoin de ce paramètre pour se conformer au
protocole HTTPl, expliqué dans la RFC2616, section 14.30.
N'oubliez pas le «slash» («/») à la fin
de votre URL. L'URL ne doit contenir que des caractères valides
pour une URL, et sur certains serveurs, le chemin d'accès est
sensible à la casse.
À partir de la version 2.3.0, vous pouvez essayer de laisser ce
paramètre vide,
car le programme essaie d'auto-détecter sa valeur. Les
détails supplémentaires se trouvent dans le fichier de
configuration.
Ce paramètre peut également être rempli
dynamiquement. Vous pouvez, par exemple, utiliser un code du genre :
$cfg['PmaAbsoluteUri'] = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://'
. $_SERVER['HTTP_HOST']
. (!empty($_SERVER['SERVER_PORT']) ? ':' . $_SERVER['SERVER_PORT'] : '')
. substr($_SERVER['PHP_SELF'], 0, strrpos($_SERVER['PHP_SELF'], '/')+1);
ou
$cfg['PmaAbsoluteUri'] = (!empty($_SERVER['HTTPS']) ? 'https' : 'http') . '://'
. $_SERVER['SERVER_NAME']
. (!empty($_SERVER['SERVER_PORT']) ? ':' . $_SERVER['SERVER_PORT'] : '')
. substr($_SERVER['SCRIPT_NAME'], 0, strrpos($_SERVER['SCRIPT_NAME'], '/')+1);
Veuillez noter que l'élément $_SERVER n'existe pas
dans les version PHP antérieures à la version 4.1.0.
Dans ce cas, essayez de le remplacer par $_SERVER by $HTTP_SERVER_VARS
ou $GLOBALS.
- $cfg['PmaAbsoluteUri_DisableWarning'] booléen
- Par défaut, quand vous laissez $cfg['PmaAbsoluteUri']
vide, et que le système détecte automatiquement votre URI
absolue, nous affichons un avertissement pour vous le rappeler. Si vous
avez testé la détection automatique et qu'elle fonctionne
parfaitement sur votre configuration, alors vous pouvez définir
cette variable pour supprimer cet avertissement.
- $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
- À partir de la version 2.5.2, la méthode
d'authentification par 'cookie' utilise l'algorithme blowfish pour
chiffrer le mot de passe.
Si au moins un serveur utilise dans sa configuration la méthode
d'authentification par 'cookie', entrez ici une phrase mot de passe de
votre choix qui sera utilisée par blowfish.
- $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. Si vous n'avez qu'un seul
serveur à administrer, laissez simplement vides les autres
instances de $cfg['Server'].
- $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 utiliser la fonctionnalité socket, vous devez
exécuter PHP version 3.0.10 ou ultérieure.
- $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
- Quelle extension php MySQL utiliser 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.
Remarque : la gestion de MySQL 4.1 avec phpMyAdmin est
expérimentale!
- $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 une installation multi-utilisateurs (mode
d'authentification http ou par cookie)
et également pour les fonctionnalités relationnelles
(voir $cfg['Servers'][$i]['pmadb']).
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.
Notez que si vous essayez de vous connecter à phpMyAdmin avec
cet utilisateur de contrôle - «controluser», vous
pourriez obtenir des erreurs, en fonction des privilèges que
vous avez donnés à l'utilisateur de contrôle.
phpMyAdmin ne gère pas une connexion directe avec cet
utilisateur.
Dans les versions 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
- 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]['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]['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
- À partir de la version 2.3.0, phpMyAdmin offre beaucoup de
nouvelles fonctionnalités pour travailler avec les tables
maîtres / étrangères. Pour les utiliser, tout comme
la fonctionnalité signet, vous avez besoin de tables
spéciales avec une structure prédéfinie, que nous
expliquons ci-dessous.
Voir la section Installation rapide de ce
document pour une
manière rapide de créer ces tables. Si vous utilisez un
serveur Windows, lisez également la partie
1.23 de la FAQ.
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'].
Si vous définissez une installation phpMyAdmin
multi-utilisateurs, vous devrez créer une nouvelle base de
données et définir des privilèges spéciaux
en tant que super-utilisateur :
- créez une nouvelle base de données pour
phpMyAdmin:
CREATE DATABASE phpmyadmin;
Notez que l'utilisateur de contrôle - «controluser» -
doit avoir les privilèges SELECT,INSERT,UPDATE et DELETE
sur cette base. Ci-dessous une requête pour définir ces
privilèges
(utilisant «phpmyadmin» comme nom de la base, et
«pma» comme utilisateur de contrôle) :
GRANT SELECT,INSERT,UPDATE,DELETE ON
phpmyadmin.* to 'pma'@'localhost';
ne donner pas à d'autres utilisateurs
de droits sur cette base.
- entrez le nom de la base de données dans $cfg['Servers'][$i]['pmadb']
-
$cfg['Servers'][$i]['bookmarktable'] chaîne
- Depuis la version 2.2.0, phpMyAdmin autorise 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é, vous devez :
- définir «pmadb» comme décrit
ci-dessus
- dans cette base de données, créez une table
respectant ce schéma :
CREATE TABLE
`pma_signets` (
id int(11) DEFAULT '0' NOT
NULL auto_increment,
dbase varchar(255) NOT NULL,
user varchar(255) NOT NULL,
label varchar(255) NOT NULL,
query text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM COMMENT='Signets';
- entrer 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 partie 6.7 de la FAQ)
- 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 partie 6.21 de la FAQ)
- 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 partie 6.6 de la FAQ)
- 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é, le
super-utilisateur doit :
- définir «pmadb» comme décrit plus
haut
- dans cette base de données, créer une table
respectant le schéma :
CREATE TABLE `pma_relation` (
`master_db` varchar(64) NOT
NULL default '',
`master_table` varchar(64)
NOT NULL default '',
`master_field` varchar(64)
NOT NULL default '',
`foreign_db` varchar(64) NOT
NULL default '',
`foreign_table` varchar(64)
NOT NULL default '',
`foreign_field` varchar(64)
NOT NULL default '',
PRIMARY KEY (`master_db`,
`master_table`, `master_field`),
KEY foreign_field
(foreign_db, foreign_table)
) TYPE=MyISAM COMMENT='Table de relation';
- 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é, le super-utilisateur
doit :
- définir «pmadb» comme décrit plus
haut
- dans cette base de données créer une table
respectant le schéma suivant :
CREATE TABLE
`pma_table_info` (
`db_name` varchar(64) NOT
NULL default '',
`table_name` varchar(64) NOT
NULL default '',
`display_field` varchar(64)
NOT NULL default '',
PRIMARY KEY (`db_name`,
`table_name`)
) TYPE=MyISAM COMMENT='Table d
information
pour phpMyAdmin';
- 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» et
avoir une table des pages PDF
(voir $cfg['Servers'][$i]['pdf_pages']) pour créer des
réalisations PDF.
Pour pouvoir utiliser cette fonctionnalité, le super-utilisateur
doit :
- définir «pmadb» comme décrit plus
haut
- dans cette base de données, créez une table
respectant le schéma suivant :
CREATE TABLE
`pma_table_coords` (
`db_name` varchar(64) NOT
NULL default '',
`table_name` varchar(64) NOT
NULL default '',
`pdf_page_number` int NOT
NULL default '0',
`x` float unsigned NOT NULL
default '0',
`y` float unsigned NOT NULL
default '0',
PRIMARY KEY (`db_name`,
`table_name`, `pdf_page_number`)
) TYPE=MyISAM COMMENT='Table de
coordonnées pour les réalisations de PDF pour phpMyAdmin';
- créer également :
CREATE TABLE `pma_pdf_pages`
(
`db_name` varchar(64) NOT
NULL default '',
`page_nr` int(10) unsigned
NOT NULL auto_increment,
`page_descr` varchar(50) NOT
NULL default '',
PRIMARY KEY (page_nr),
KEY (db_name)
) TYPE=MyISAM COMMENT='Pages PDF des
relations pour PMA';
- mettre le nom de la première table dans $cfg['Servers'][$i]['table_coords']
et le nom de la seconde dans $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 Conversions
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é, le
super-utilisateur doit :
- définir «pmadb» comme décrit plus
haut
- dans cette base de données, créer une table
respectant le schéma suivant :
CREATE TABLE
`pma_column_info` (
id int(5) unsigned NOT NULL
auto_increment,
db_name varchar(64) NOT NULL
default '',
table_name varchar(64) NOT
NULL default '',
column_name varchar(64) NOT
NULL default '',
`comment` varchar(255) NOT
NULL default '',
mimetype varchar(255) NOT
NULL default '',
transformation varchar(255)
NOT NULL default '',
transformation_options
varchar(255) NOT NULL default '',
PRIMARY KEY (id),
UNIQUE KEY db_name (db_name,
table_name, column_name)
) TYPE=MyISAM COMMENT='Comments for
Columns';
- mettre le nom de la table dans $cfg['Servers'][$i]['column_info']
- pour mettre à jour votre table PRE-2.5.0
Column_comments, utilisez cette requête :
ALTER TABLE
`pma_column_comments`
ADD `mimetype` VARCHAR( 255 )
NOT NULL ,
ADD `transformation` VARCHAR(
255 ) NOT NULL ,
ADD `transformation_options`
VARCHAR( 255 ) NOT NULL ;
et rappelez-vous que la variable dans le fichier
config.inc.php a
été renommée de
$cfg['Servers'][$i]['column_comments'] en
$cfg['Servers'][$i]['column_info']
-
$cfg['Servers'][$i]['history'] chaîne
- Depuis la version 2.5.0, vous pouvez stocker votre historique
SQL, ce qui signifie toutes les requêtes que vous entrez
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 vous utilisez la
fenêtre de requête JavaScript, voir $cfg['QueryFrame'].
Pour autoriser l'utilisation de cette fonctionnalité, le
super-utilisateur doit :
- définir «pmadb» comme décrit plus
haut
- dans cette base de données, créer une table
respectant le schéma suivant :
CREATE TABLE `pma_history` (
`id` BIGINT UNSIGNED NOT NULL
AUTO_INCREMENT,
`username` VARCHAR( 64 ) NOT
NULL ,
`db` VARCHAR( 64 ) NOT NULL ,
`table` VARCHAR( 64 ) NOT
NULL ,
`timevalue` TIMESTAMP NOT
NULL ,
`sqlquery` TEXT NOT NULL ,
PRIMARY KEY ( `id` ) ,
INDEX ( `username` , `db` ,
`table` , `timevalue` )
) TYPE=MyISAM COMMENT='SQL
history';
- mettre le nom de la table dans
$cfg['Servers'][$i]['history']
- $cfg['Servers'][$i]['verbose_check'] chaîne
- 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]['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
comme :
'all' -> 0.0.0.0/0
'localhost' -> 127.0.0.1/8
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['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['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 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.
- $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['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 à un serveur arbitraire en utilisant
l'authentification par cookie.
REMARQUE : Veuillez utiliser ce paramètre avec
précaution, car il peut autoriser à 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['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.
- $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['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['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['ShowMysqlInfo'] booléen
$cfg['ShowMysqlVars'] booléen
$cfg['ShowPhpInfo'] booléen
$cfg['ShowChgPassword'] booléen
- Définit si on affiche les liens «Afficher
l'état du serveur MySQL», «Afficher les variables du
serveur MySQL»,
«Afficher les informations relatives à PHP» et
«Modifier le mot de passe»
pour les utilisateurs lambda 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'] booléen
- Définit si les boutons de la barre de navigation affiche
le texte ou les icônes seulement.
- $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/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['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 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» ou
«tbl_change.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 :
- old - ancien style utilisé dans phpMyAdmin version
2.3.0 et antérieure
- 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.inc.php pour connaître les
valeurs autorisées pour ce paramètre.
- $cfg['Lang'] chaîne
- Force : toujours utiliser cette langue (doit être
défini dans le script select_lang.inc.php).
- $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).
- $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.
- $cfg['IconvExtraParams'] chaîne
- Spécifie des paramètres pour iconv utilisés
dans la conversion de page de code.
Voir la documentation
iconv pour plus de renseignements.
- $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.
- $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.
- $cfg['RightBgImage'] chaîne
- L'URI de l'image de fond utilisée pour le cadre de droite.
Elle doit être absolue.
- $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).
- $cfg['Border'] entier
- Taille de la bordure d'une table.
- $cfg['ThBgcolor'] chaîne [couleur HTML]
- La couleur (HTML) utilisée pour les en-têtes de
table.
- $cfg['BgcolorOne'] chaîne [couleur HTML]
- La couleur (HTML) pour les premiers enregistrements de table.
- $cfg['BgcolorTwo'] chaîne [couleur HTML]
- La couleur (HTML) pour les seconds enregistrements de table.
- $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.
- $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 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
$cfg['HeaderFlipType'] 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.
- $cfg['ShowBrowseComments'] booléen
$cfg['ShowPropertyComments'] booléen
- 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.
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.
- $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.
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['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['RepeatCells'] entier
- Répète les en-têtes toutes les X cellules, ou
0 pour désactiver.
- $cfg['QueryFrame'] booléen
$cfg['QueryFrameJS'] booléen
$cfg['QueryFrameDebug'] 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
$cfg['QueryFrame'] est défini à true, un nouveau cadre
est intégré à gauche sur une petite surface.
Cliquer dessus provoque l'ouverture d'une interface pour saisir
les requêtes SQL.
Quand $cfg['QueryFrameJS'] est défini à true, cliquer sur
ce lien ouvre une nouvelle fenêtre de navigateur de taille
personnalisée ($cfg['QueryWindowWidth'],
$cfg['QueryWindowWidth'] - les deux paramètres sont des entiers
exprimant la taille en pixels). Si défini à false,
cliquer sur ce lien n'ouvre que la zone de saisie SQL dans le cadre
principal.
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'.
La variable $cfg['QueryFrameDebug'] peut être utilisée par
les développeurs pour l'intégration de futures
fonctionnalités plus facilement.
- $cfg['BrowseMIME'] booléen
- Active les Transformations-MIME.
- $cfg['MaxExactCount'] entier
- Détermine pour quelle taille de tables phpMyAdmin doit
obtenir le nombre de lignes exact avec
SELECT COUNT. Si
le compte approximatif de lignes est inférieur à cette
valeur, SELECT COUNT sera utilisé,
sinon, la valeur renvoyée sera seulement SHOW TABLE STATUS.
- $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['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.
- $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']['use'] booléen
- 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 partie 6.14 de la FAQ.
- $cfg['SQLValidator']['username'] chaîne
$cfg['SQLValidator']['password'] chaîne
- La 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.
Transformations
Introduction -
Utilisation - Structure de fichier
[1. Introduction]
Pour permettre les transformations, vous devez paramétrer la
table column_info et les directives appropriées. Veuillez
consulter la section Configuration
sur la manière de faire.
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>/libraries/transformations/overview.php
de votre installation.
Pour un tutoriel sur la façon d'utiliser efficacement les
transformations, voir notre section Links
sur la page d'accueil officielle de phpMyAdmin.
[2. Utilisation]
Consultez votre page tbl_properties.inc.php
(c'est-à-dire,
atteindre la page en cliquant le lien 'Propriétés' 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'».
[3. Structure de fichier]
Tous les types mime et leurs transformations sont définis
dans des fichiers dans le répertoire
'libraries/transformations/'.
Ils sont emmagasinés dans des fichiers pour faciliter la
personnalisation et l'ajout aisé de nouvelles transformations.
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 oeil à notre section Links
sur la page d'accueil officielle de phpMyAdmin pour une revue
détaillée des fonctionnalités de phpMyAdmin et/ou
de son interface.
[1. Serveur]
[1.1] J'utilise PHP 4+ et mon serveur plante chaque fois qu'une
action spécifique est requise ou renvoie une page blanche ou
pleine de signes cabalistiques à mon navigateur, que puis-je
faire?
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.
[1.2] Mon serveur Apache plante en utilisant phpMyAdmin.
Vous devez tout d'abord essayer les dernières versions de
Apache (et si possible de
MySQL).
Veuillez également voir l'autre entrée de la FAQ sur les
bogues de PHP avec le cache de résultats (output buffering).
Si votre serveur continue à planter, veuillez demander de l'aide
dans les divers groupes d'entraide de
Apache.
[1.3] J'utilise phpMyAdmin avec le mode d'authentification par
cookie avec PHP 4.2.0 ou 4.2.1 chargé en tant que module de
Apache 2+, mais je ne peux pas entrer dans le script : j'ai toujours
l'écran de connexion qui s'affiche.
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.
[1.4] J'utilise phpMyAdmin avec IIS, et j'obtiens le message
d'erreur : «L'application CGI spécifiée a mal
fonctionné en ne renvoyant pas de jeu complet d'en-têtes
HTTP...».
Vous avez juste oublié de lire le fichier install.txt
de la distribution php. Consultez le dernier message dans ce rapport de bogue de la
base de données officielle de bogues de PHP.
[1.5] J'utilise phpMyAdmin avec IIS, et je suis confronté
à des plantages et/ou beaucoup de messages d'erreur avec
l'authentification HTTP ou le mode d'authentification avancé.
Ceci est un problème connu du filtre ISAPI de PHP : il n'est
pas très stable. Pour plus d'informations et de tests complets,
voir les messages postés par André B. connu sous le
pseudo «djdeluxe76» dans ce
fil de discussion du forum phpWizard.
Veuillez utiliser plutôt le mode d'authentification par cookie.
[1.6] Je ne peux pas utiliser phpMyAdmin avec PWS : rien ne
s'affiche!
Cela semble être un bogue de PWS. Filippo Simoncini a
trouvé une solution de rechange
(pour le moment, il n'y a pas de meilleur moyen) : supprimez ou mettez
en commentaire les déclarations DOCTYPE (deux lignes)
des scripts header.inc.php, header_printview.inc.php,
index.php, left.php et libraries/common.lib.php.
[1.7] Comment puis-je compresser avec GZip ou Bzip un fichier
d'exportation ou un export CSV. Il semble que cela ne fonctionne pas.
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.
[1.8] Je ne peux pas insérer un fichier texte dans une
table, et j'obtiens une erreur concernant le mode
sécurisé qui
est utilisé.
Votre fichier transféré est sauvegardé dans
votre «répertoire de transfert», tel que
défini dans le fichier php.ini par la variable upload_tmp_dir
(habituellement, le répertoire système par défaut
est /tmp).
Nous vous recommandons le paramétrage suivant pour les serveurs
Apache exécutés en mode sécurisé, pour
activer
les transferts de fichiers tout en étant raisonnablement
sécurisés :
- 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
[1.9] J'ai des problèmes quand je transfère des
fichiers. En général, le transfert de fichiers ne
fonctionne pas sur mon système et les fichiers
transférés comportent l'en-tête Content-Type:
sur la première ligne.
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!
[1.10] J'ai des problèmes en transférant des
fichiers avec phpMyAdmin
exécuté sur un serveur sécurisé. Mon
navigateur est Internet Explorer et j'utilise un serveur Apache.
Comme l'a suggéré «Rob M» dans le forum
phpWizard, ajoutez cette ligne dans votre fichier httpd.conf:
SetEnvIf User-Agent ".*MSIE.*" nokeepalive
ssl-unclean-shutdown
Il semble que cela supprime beaucoup de problèmes entre Internet
Explorer et SSL.
[1.11] J'obtiens 'open_basedir restriction' en
téléchargeant un fichier depuis la boîte de
requête.
Depuis la version 2.2.4, phpMyAdmin gère les serveurs avec
les restrictions open_basedir. 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.
[1.12] J'ai perdu le mot de passe de super-utilisateur de MySQL,
que puis-je faire?
Le manuel MySQL explique comment réinitialiser
les permissions.
[1.13] J'obtiens une erreur 'Aucune requête SQL !' en
exécutant un signet.
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.
[1.14] J'obtiens une erreur 'Aucune requête SQL !' en
essayant d'exécuter une requête depuis la zone de texte
adéquate.
Vérifiez la directive post_max_size dans votre
fichier de configuration PHP et essayez de l'augmenter.
[1.15] J'ai des problèmes avec les noms de champs mysql.user
.
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.
[1.16] Je ne peux pas transférer de gros fichiers
d'exportation (problèmes de mémoire, http ou de
temporisation - timeout).
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.
Si vous avez un problème de temporisation, consultez la variable
$cfg['UploadDir'].
[1.17] Quelles versions de MySQL sont gérées par
phpMyAdmint?
Toutes les versions MySQL de la version 3.23.32 jusqu'à la
version 4.0 sont totalement gérées.
Veuillez noter que plus votre version de MySQL est ancienne, plus vous
serez confronté à des limitations.
phpMyAdmin fournit la gestion expérimentale de MySQL 4.1 et
5.0.
Cela signifie que, bien que vous ayez assigné un jeu de
caractères à une table ou un champ, phpMyAdmin ne
recodera pas les données lors de l'insertion ou de
l'extraction. Au lieu de cela, il utilisera le jeu de
caractères que vous avez spécifié pour la
connexion MySQL. La nouvelle extension améliorée de MySQL (mysqli),
est également gérée à titre expérimental.
En compilant php, nous recommandons fortement de lier manuellement
l'extension MySQL à 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).
MySQL 5.1 n'est pas encore géré.
[1.17a] Je ne peux pas me connecter au serveur MySQL. Il renvoie
toujours le message d'erreur, «Le client ne gère pas le
protocole d'authentification requis par le serveur; envisagez de mettre
à jour votre client MySQL».
Vous avez essayé d'accéder à MySQL avec une
ancienne bibliothèque client MySQL. La version de votre
bibliothèque client MySQL peut être vérifiée
dans le résultat de votre fonction phpinfo().
En général, elle devrait avoir au moins la même
version mineure que votre serveur - comme cela est
précisé dans FAQ 1.17.
Le seul moyen de corriger ce problème est de compiler
manuellement php et son extension MySQL avec une bibliothèque
client MySQL récente.
Si vous êtes toujours confronté à ce
problème, veuillez compiler votre bibliothèque client
MySQL avec la même version ou une version plus récente de
MySQL.
[1.18] J'utilise MySQL <= 4.0.1 en ayant lower_case_table_names
défini à 1. Si je crée une table avec une lettre
en majuscule dans son nom, elle est changée en minuscule. Mais
si j'essaie de SUPPRIMER cette table,
MySQL n'est pas capable de trouver le fichier correspondant.
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.
[1.19] Je ne peux pas utiliser la fonctionnalité
«Afficher les relations» parce que le script semble ne pas
connaître la police que j'utilise!
La bibliothèque «FPDF» que nous utilisons pour
cette fonctionnalité nécessite des fichiers
spéciaux pour utiliser les polices.
Veuillez vous référer au manuel FPDF pour construire ces fichiers.
[1.20] Je reçois l'erreur «PHP ne peut charger
l'extension MySQL, veuillez vérifier votre configuration de
PHP».
Pour se connecter à un serveur MySQL, PHP a besoin d'un jeu
de fonctions MySQL appelées «extension MySQL». Cette
extension peut faire partie de la distribution PHP
(intégrée), sinon elle doit être chargée
dynamiquement. Son nom est vraisemblablement mysql.so ou php_mysql.dll.
phpMyAdmin a essayé de charger l'extension mais a
échoué.
D'habitude le problème est résolu en installant un
paquetage nommé «PHP-MySQL» ou quelque chose de
similaire.
[1.21] J'utilise la version CGI de PHP sous Unix, et je ne peux
pas me connecter en utilisant l'authentification par cookie.
Dans le fichier php.ini, définissez mysql.max_links
à une valeur supérieure à 1.
[1.22] Je ne vois pas le champ «Emplacement du fichier
texte», aussi je ne peux pas transférer.
Ceci est dû très probablement au fait que dans votre
fichier php.ini, votre paramètre file_uploads
n'est pas défini à «on».
[1.23] J'exécute MySQL sur une machine Win32. Chaque fois
que je crée une nouvelle table, les noms de la table et des
champs sont convertis en lettres minuscules!
Ceci arrive parce que la directive MySQL lower_case_table_names
est définie par défaut à 1 (ON) dans la
version Win32 de MySQL. vous pouvez changer ce comportement en
changeant simplement la directive à 0 (OFF) :
Éditez votre fichier my.ini qui doit se trouver dans
votre répertoire Windows et ajouter la ligne suivante au groupe
[mysqld] :
set-variable = lower_case_table_names=0
Ensuite, sauvegardez le fichier et redémarrez le service MySQL.
Vous pouvez toujours vérifier la valeur de cette directive en
utilisant la requête suivante
SHOW VARIABLES LIKE 'lower_case_table_names';
[1.24] Des caractères sont tronqués dans mes
requêtes, ou j'obtiens des caractères ajoutés
aléatoirement. J'utilise PHP 4.2.3.
C'est un bogue de
PHP 4.2.3.
[1.25] J'utilise Apache avec mod_gzip-1.3.26.1a sur Windows XP,
et j'ai des problèmes, comme par exemple, des variables non
définies quand j'exécute une requête SQL.
Une astuce de Jose Fandos : mettez en commentaire les deux lignes
suivantes dans votre fichier httpd.conf, comme ceci :
# mod_gzip_item_include file \.php$
# mod_gzip_item_include mime "application/x-httpd-php.*"
car cette version de mod_gzip sur Apache (Windows) a des
problèmes pour manipuler les scripts PHP. Bien sûr, vous
devrez redémarrer Apache.
[1.26] Je viens d'installer phpMyAdmin dans le document racine de
IIS mais j'obtiens l'erreur «Le fichier spécifié
est introuvable» quand j'essaie d'exécuter
phpMyAdmin.
C'est un problème de permission. Faites un clic droit sur le
dossier phpmyadmin et sélectionner Propriétés.
Dans l'onglet Sécurité, cliquez sur «Ajouter»
et sélectionner l'utilisateur «IUSER_machine»
à partir de la liste. Définissez maintenant ses
permissions et cela devrait fonctionner.
[1.27] J'obtiens une page vide lorsque je veux voir une
très grosse page (par exemple, db_details_structure.php avec
beaucoup de tables).
C'est un bogue PHP qui
survient quand le cache de résultats GZIP (output buffering) est
activé. Si vous le désactivez (en définissant $cfg['OBGzip']
= FALSE dans votre fichier config.inc.php),
cela devrait
fonctionner. Ce bogue sera corrigé dans PHP version 5.0.0.
[1.28] Mon serveur MySQL refuse quelquefois des requêtes et
renvoie le message 'Errorcode: 13'. Qu'est-ce que cela signifie?
Cela peut arriver à cause d'un bogue de MySQL quand vous
avez des noms de base de données/tables avec des
caractères en majuscules bien que lower_case_table_names
soit défini à 1. Pour corriger ceci, désactivez
cette directive, convertissez tous les noms de vos tables et base de
données en minuscules et réactivez-la. Il y a
également un correctif disponible à partir de
MySQL 3.23.56 /
4.0.11-gamma.
[1.29] Quand je crée une table ou que je modifie un champ,
j'obtiens une erreur et les champs sont dupliqués.
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
&
AddType application/x-httpd-php .php
Dans le cas que nous avons constaté, un jeu de directives
était dans le fichier /etc/httpd/conf/httpd.conf,
alors que l'autre était dans le fichier /etc/httpd/conf/addon-modules/php.conf.
La manière recommandée est AddType, mettez
seulement en commentaire le premier jeu de lignes et redémarrez
Apache :
#SetOutputFilter PHP
#SetInputFilter PHP
[1.30] J'obtiens l'erreur «left.php: Missing hash».
Ce problème est connu pour survenir quand le serveur
exécute Turck
MMCache, mais la mise à jour de MMCache en version 2.3.21
résoud le problème.
[2. Configuration]
[2.1] Le message d'erreur «Warning: Cannot add header
information -
headers already sent by ...» est affiché, quel est le
problème?
Éditez votre fichier config.inc.php ou .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.
[2.2] phpMyAdmin ne peut pas se connecter à MySQL.
Qu'est-ce qui ne va pas?
Il y a soit une erreur dans votre configuration PHP, soit votre
utilisateur/mot de passe. Essayez de faire un petit script qui utilise
mysql_connect et voyez s'il fonctionne. Si ce n'est pas le cas, il se
peut que vous n'ayez pas compilé la gestion de MySQL dans PHP.
[2.3] Le message d'erreur «Warning: MySQL Connection Failed:
Can't
connect to local MySQL server through socket '/tmp/mysql.sock'
(111)...» est affiché . Que puis-je faire?
Pour les utilisateurs RedHat, Harald Legner suggère ceci sur la
liste de diffusion :
Sur mon système RedHat le socket de MySQL est /var/lib/mysql/mysql.sock.
Dans votre fichier php.ini
vous trouverez une ligne
mysql.default_socket = /tmp/mysql.sock
changez-la pour :
mysql.default_socket =
/var/lib/mysql/mysql.sock
Redémarrez alors Apache et cela fonctionnera.
Voici un correctif proposé par Brad Ummer dans le forum
phpwizard :
- 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.
En supposant que vous utilisiez une version de PHP 3.0.10 ou
ultérieure, vous pouvez spécifier le socket à
utiliser quand vous ouvrez la connexion. 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.
[2.4] Rien ne s'affiche dans mon navigateur quand j'essaie
d'exécuter phpMyAdmin, que puis-je faire?
Essayez de définir la directive $cfg['OBGZip']
à FALSE
dans le fichier de configuration de phpMyAdmin. Cela aide parfois.
Veuillez également regarder le numéro de version de PHP :
s'il contient «4.0b...»
cela signifie que vous exécutez une version beta de PHP. Ce
n'est pas une très bonne idée, veuillez mettre à
jour dans une version stable.
[2.5] Chaque fois que je veux insérer ou modifier un
enregistrement ou supprimer une base de données ou une table,
une erreur 404 (page introuvable) est affichée; ou,
avec l'authentification HTTP ou par cookie, on me demande de me
reconnecter. Qu'est-ce qui ne va pas?
Vérifier la valeur que vous avez définie dans votre
directive $cfg['PmaAbsoluteUri']
dans votre fichier de configuration phpMyAdmin.
[2.6] J'obtiens une erreur «Access denied for user:
'root@localhost' (Using
password: YES)» en essayant d'accéder un serveur MySQL sur
un hôte dont le port est redirigé sur mon ordinateur
hôte local
Quand vous utilisez un port sur votre ordinateur local, que vous
redirigez à l'aide d'une redirection de port vers un autre
hôte, MySQL ne résoud pas le nom d'hôte local comme
il le devrait.
Erik Wasser 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.
[3. Limitations connues]
[3.1] En utilisant l'authentification HTTP, un utilisateur qui se
déconnecte ne peut pas se reconnecter avec le même compte.
Cela est dû au mécanisme du protocole
d'authentification utilisé par
phpMyAdmin. Pour contourner ce problème : fermez toutes les
fenêtres de navigateur ouvertes et retournez dans phpMyAdmin.
Vous devriez être en mesure de vous reconnecter.
[3.2] En exportant une grosse table en mode compressé,
j'obtiens une erreur de limitation mémoire ou une erreur de
dépassement de limite de temps.
Les fichiers d'exportations compressés sont construits en
mémoire et à cause de cela sont limités par la
limite mémoire de php. Pour les exportations GZip/BZip2, ceci
peut être outrepassé depuis la version 2.5.4 en utilisant $cfg['CompressOnFly']
(activé par défaut). Les exportations Zip ne peuvent pas
être traitées de cette façon, donc si vous avez
besoin de fichiers Zip
pour des exportations plus importantes, vous devrez utiliser un autre
moyen.
[3.3] Avec les tables InnoDB, je perds les relations de
clés étrangères quand je renomme ou quand je
modifie une table.
Cela semble être un bogue de InnoDB (corrigé dans MySQL
3.23.50?).
[3.4] Je n'arrive pas à importer des fichiers d'exportation
que j'ai créés avec l'outil mysqldump
fourni dans la distribution de MySQL serveur.
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
#---------------------------------------------------------
[3.5] En utilisant des dossiers imbriqués
($cfg['LeftFrameTableSeparator'])
il y a de multiples hiérarchies qui sont mal affichées?!
Veuillez noter que vous ne devez pas utiliser la chaîne de
séparation plusieurs fois sans insérer de
caractère entre ces chaînes, ou au début/fin de
votre nom de table. Si vous devez le faire, cherchez un autre
séparateur de table ou désactivez la
fonctionnalité.
[3.6] Qu'est-ce qui n'est actuellement pas géré par
phpMyAdmin avec InnoDB?
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.
[3.7] J'ai une table avec beaucoup de champs (100+) et quand
j'essaie d'afficher la table, j'obtiens une série
d'erreurs du genre «Warning: unable to parse
url». Comment corriger cela?
Votre table n'a pas de clé primaire ou de clé unique,
ce qui oblige à utiliser une expression longue pour identifier
cette ligne. Cela pose des problèmes à la fonction
parse_url. La solution de rechange est de créer une clé
primaire ou une clé unique.
[3.8] Je ne peux pas utiIiser de formulaires HTML (cliquables)
dans des champs où j'ai mis une transformation
MIME!
À cause d'un container de formulaires (utilisé pour
les
cases à cocher de suppression de plusieurs lignes), les
formulaires imbriqués ne peuvent pas être mis à
l'intérieur de la table ou phpMyAdmin affiche les
résultats. Vous pouvez cependant utiliser tout formulaire
à l'intérieur d'une table si vous gardez le container de
formulaires parent avec la cible
tbl_row_delete.php et mettez
vos éléments de saisie
à l'intérieur. Si vous utilisez un champ de soumission de
saisie personnalisé, le formulaire sera soumis lui-même
vers la page d'affichage à nouveau, où vous pouvez
valider les $HTTP_POST_VARS dans une transformation. Pour un tutoriel
sur la façon d'utiliser efficacement les transformations, voir
notre section
Links
sur la page d'accueil officielle de phpMyAdmin.
[3.9] J'obtiens des messages d'erreur en utilisant
«--sql_mode=ANSI» pour le serveur
MySQL
Quand MySQL est exécuté en mode de
compatibilité ANSI, il y a des différences majeures dans
la façon dont SQL est structuré (voir http://www.mysql.com/doc/en/ANSI_mode.html).
Le plus important, le caractère guillemet (") est
interprété en tant que caractère guillemet
identifiant et non comme le caractère guillemet
annonçant une chaîne, ce qui provoque des requêtes
SQL invalides dans beaucoup d'opérations
internes de phpMyAdmin. Il n'y a pas de solution de rechange à
ce comportement. Des nouvelles sur ce sujet seront postées dans
le rapport de bogue #816858
[3.10] Homonymes et pas de clé primaire : Quand les
résultats d'un SELECT
affiche plus d'une colonne avec la même valeur (par exemple SELECT
nom from employes where prenom like 'A%' et que deux valeurs
«Smith» sont affichées), si je clique sur Modifier,
je ne peux pas être sûr que je modifie la bonne ligne.
Veuillez vous assurer que votre table a une clé primaire,
ainsi phpMyAdmin peut l'utiliser pour les liens Modifier et
Effacer.
[4. FAI, installation multi-utilisateurs ]
[4.1] Je suis un FAI. Puis-je configurer une seule copie
centralisée de phpMyAdmin ou dois-je faire l'installation pour
chaque client.
Depuis la version 2.0.3, vous pouvez configurer une copie
centralisée de phpMyAdmin pour tous vos utilisateurs. Le
développement de cette fonctionnalité a été
aimablement sponsorisé par NetCologne GmbH. Ceci requiert une
configuration correcte de la gestion des utilisateurs MySQL et
l'utilisation de l'authentification HTTP ou par cookie pour phpMyAdmin.
Voir la section Installation sur «Utiliser
les modes
d'authentification».
[4.2] Quel est le meilleur moyen de sécuriser phpMyAdmin
contre les attaques malicieuses.
Cela dépend de votre système.
Si vous utilisez un serveur qui ne peut pas être
accédé par d'autres personnes,
il est suffisant d'utiliser la protection de répertoire fournie
avec votre serveur web (avec Apache vous pouvez utiliser les fichiers .htaccess,
par exemple).
Si d'autres personnes ont un accès telnet à votre
serveur, vous devriez utiliser la fonctionnalité
d'authentification HTTP de
phpMyAdmin.
Suggestions:
- Votre fichier config.inc.php devrait être chmod
660.
- Tous les fichiers phpMyAdmin devraient être chown
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.
[4.3] J'obtiens des erreurs sur l'impossibilité d'inclure
un fichier dans /lang
ou dans /libraries.
Vérifier votre fichier php.ini, ou demander à
votre administrateur système de le faire. include_path
doit contenir «.» dans ses chemins et open_basedir,
s'il est utilisé, doit contenir «.» et
«./lang» pour
permettre un fonctionnement normal de
phpMyAdmin.
[4.4] phpMyAdmin donne toujours «Accès
refusé» en utilisant l'authentification HTTP.
Cela peut arriver pour différentes raisons :
- $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.
[4.5] Est-il possible de laisser les utilisateurs créer
leurs propres bases de données?
À partir de la version 2.2.5, dans la page de gestion des
utilisateurs, vous pouvez mettre un méta-caractère dans
le nom
de la base de données pour un utilisateur (par exemple
«joe%»), et mettre les privilèges que vous voulez.
Par exemple, en ajoutant SELECT, INSERT, UPDATE,
DELETE, CREATE, DROP, INDEX, ALTER permettra à un
utilisateur de créer/administrer sa(ses) base(s) de
données.
[4.6] Comment puis-je utiliser en plus l'authentification
basée sur l'hôte?
Si vous avez des règles existantes d'un ancien fichier
.htaccess, vous pouvez le prendre et ajouter le nom d'utilisateur entre
les chaînes 'deny'/'allow' et 'from'.
Utiliser le méta-caractère '%'
pour le nom d'utilisateur est un grand avantage si votre installation
est adaptée pour l'utiliser. Ensuite, vous pouvez ajouter ces
lignes mises à jour dans le tableau $cfg['Servers'][$i]['AllowDeny']['rules'].
Si vous voulez un exemple préfabriqué, vous pouvez
essayer celui-ci. Il empêche l'utilisateur
'root' de se connecter à partir de n'importe quels
réseaux autres que les réseaux IP privés.
//empêche root de se connecter sauf
à partir des réseaux privés
$cfg['Servers'][$i]['AllowDeny']['order'] =
'deny,allow';
$cfg['Servers'][$i]['AllowDeny']['rules'] =
array(
'deny root from all',
'allow root from
localhost',
'allow root from
10.0.0.0/8',
'allow root from
192.168.0.0/16',
'allow root from
172.16.0.0/12',
);
[4.7] La fenêtre d'authentification est affichée plus
d'une fois, pourquoi?
Ceci arrive si vous utilisez une URL pour démarrer phpMyAdmin
qui est différente de celle définie dans votre $cfg['PmaAbsoluteUri'].
Par exemple, s'il manque «www», ou si vous entrez une
adresse IP alors qu'un nom de domaine est défini dans le fichier
de configuration.
[5. Navigateurs et système d'exploitation client]
[5.1] J'obtiens une erreur «out of memory», ou mes
contrôles ne sont plus fonctionnels, en essayant de créer
une table avec plus de 14 champs.
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.
[5.2] Avec Xitami 2.5b4, phpMyAdmin ne traite pas les champs
formulaires.
Ce n'est pas un problème de phpMyAdmin problem mais un bogue
connu de Xitami : vous rencontrerez ce problème chaque fois
qu'un script/site web utilise des formulaires.
Mettez à jour ou descendez d'une version votre serveur Xitami.
[5.3] J'ai des problèmes d'exportation de table avec
Konqueror (phpMyAdmin
2.2.2).
Avec Konqueror 2.1.1 : les fichiers d'exportation simples, zip et
GZip fonctionnent bien,
sauf que le nom de fichier proposé pour le fichier d'exportation
est toujours
'tbl_dump.php'. Les fichiers
d'exportation Bzip2 ne semblent pas
fonctionner.
Avec Konqueror 2.2.1 : les fichiers d'exportation simples fonctionnent;
les fichiers d'exportation zip sont placés dans le
répertoire temporaire de l'utilisateur, aussi, ils doivent
être déplacés avant de fermer Konqueror, sinon ils
disparaissent. Les fichiers d'exportation GZip donnent un message
d'erreur.
Des tests ont besoin d'être réalisés pour Konqueror
2.2.2.
[5.4] Je ne peux pas utiliser le mode d'authentification par
cookie car Internet
Explorer ne stocke jamais les cookies.
MS Internet Explorer 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!
[5.5] Dans Internet Explorer 5.0, j'obtiens des messages d'erreur
JavaScript quand je navigue dans mes enregistrements.
Mettez à jour au moins en version Internet Explorer 5.5 SP2.
[5.6] Dans Internet Explorer 5.0, 5.5 ou 6.0, j'obtiens une erreur
(comme «Page introuvable») en essayant de modifier un
enregistrement dans une table avec beaucoup de champs, ou avec un champ
texte.
Votre table n'a pas de clé primaire ni de clé unique,
aussi nous devons utiliser une URL longue pour identifier cette ligne.
Il y a une limite de longueur dans ces navigateurs, et cela ne se
produit pas avec Netscape, par exemple. La solution de rechange est de
créer une clé primaire ou une clé unique, ou
d'utiliser un autre navigateur.
[5.7] Je rafraîchis (actualise) mon navigateur, et je
reviens à la page de bienvenue.
Certains navigateurs gèrent le clic-droit dans le cadre que
vous voulez rafraîchir, faites cela dans le cadre
approprié.
[5.8] Avec Mozilla 0.9.7 j'ai des problèmes en envoyant une
requête modifiée dans la boîte de requêtes.
Cela ressemble à un bogue de Mozilla : la version 0.9.6
était OK. Nous garderons ce bogue à l'esprit pour les
futures versions de Mozilla.
[5.9] Avec Mozilla 0.9.? à 1.0 et Netscape 7.0-PR1, je ne
peux pas taper d'espace dans le zone d'édition de requête
SQL : la page défile vers le bas.
Ceci est un bogue Mozilla (voir bogue #26882 sur BugZilla).
[5.10] Avec Netscape 4.75, j'obtiens des lignes vides entre chaque
ligne de données dans un fichier exporté au format CSV.
C'est un bogue connu de Netscape 4.75 : il ajoute des lignes en
exportant des données en mode flux d'octets (octet-stream).
Comme nous ne pouvons pas détecter la version spécifique
de Netscape incriminée, nous ne pouvons pas contourner ce bogue.
[5.11] Les caractères ASCII-étendu comme le
tréma (umlaut allemand) sont mal affichés.
Veuillez vous assurer que vous avez paramétré le jeu
de caractères de votre navigateur sur l'un des fichiers de
langue que vous avez choisi dans la page de démarrage de
phpMyAdmin.
Vous pouvez également essayer le mode auto detection, mode qui
est géré par les versions récentes de la plupart
des navigateurs.
[5.12] Apple OS X : le navigateur Safari change les
caractères spéciaux en
"?".
Ce problème a été rapporté par un
utilisateur Mac OS X, qui ajoute que Chimera,
Netscape et Mozilla n'ont pas ce problème.
[5.13] Avec Internet Explorer 5.5 ou 6, et l'authentification
HTTP, je ne peux pas administrer deux serveurs : je me connecte au
premier, puis au second, mais si je reviens au premier, je dois
m'identifier à chaque fois.
C'est un bogue de Internet Explorer, les autres navigateurs ne se
comportent pas de cette manière.
[5.14] En utilisant Opera6, je peux obtenir l'authentification,
mais rien ne se passe après, seulement une page blanche.
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.
[6. Utiliser phpMyAdmin]
[6.1] Je ne peux pas insérer de lignes dans une table / je
ne peux pas créer une table - MySQL renvoie une erreur SQL.
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.
[6.2] Quand je crée une table, je clique sur la case
à cocher Index pour deux champs et phpMyAdmin
ne génère qu'un seul index avec ces deux champs.
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.
[6.3] Comment puis-je insérer une valeur nulle dans ma
table?
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).
[6.4] Comment puis-je sauvegarder ma base de données ou ma
table?
Cliquer sur le nom d'une base de données ou d'une table dans
le cadre de gauche, les propriétés seront
affichées. Ensuite, dans le menu, cliquer sur
«Exporter», vous pouvez exporter la structure, les
données ou les deux. Cela générera des
requêtes SQL qui pourront être utilisées pour
recréer votre base de données ou votre table.
Vous aurez besoin de choisir «Transmettre», de sorte que
phpMyAdmin puisse transmettre le fichier d'exportation résultant
à votre station. En fonction de votre configuration PHP, vous
verrez les options de compression de votre fichier d'exportation. Voir
également la variable de configuration $cfg['ExecTimeLimit'].
Pour une aide supplémentaire sur ce sujet, chercher le mot
«export» dans ce document.
[6.5] Comment puis-je restaurer (transmettre) ma base de
données ou ma table en utilisant un fichier d'exportation?
Comment puis-je exécuter un fichier «.sql».
Cliquer sur le nom d'une base de données dans le cadre de
gauche, les propriétés seront affichées. Alors
dans la section «Exécuter une ou des requêtes sur la
base ...», tapez votre nom de fichier d'exportation, ou cliquez
sur le bouton Afficher. Puis cliquez sur Exécuter.
Pour de l'aide supplémentaire sur ce sujet, cherchez le mot
«transm» dans ce document.
[6.6] Comment puis-je utiliser la table
relation dans
Query-by-example?
Voici un exemple avec les tables personnes, villes et pays,
toutes situées dans la base de données mabdd. Si vous
n'avez pas de table pma_relation, créez-la comme cela
est décrit dans la section Configuration.
Ensuite, créez
les tables d'exemple :
CREATE TABLE REL_pays (
code_pays char(1) NOT NULL
default '',
description varchar(10) NOT
NULL default '',
PRIMARY KEY (code_pays)
) TYPE=MyISAM;
INSERT INTO REL_pays VALUES ('C',
'Canada');
CREATE TABLE REL_personnes (
id tinyint(4) NOT NULL
auto_increment,
nom_personne varchar(32) NOT
NULL default '',
code_ville varchar(5) default
'0',
code_pays char(1) NOT NULL
default '',
PRIMARY KEY (id)
) TYPE=MyISAM;
INSERT INTO REL_personnes VALUES (11,
'Marc', 'S', '');
INSERT INTO REL_personnes VALUES (15,
'Paul', 'S', 'C');
CREATE TABLE REL_villes (
code_ville varchar(5) NOT NULL
default '0',
description varchar(30) NOT
NULL default '',
PRIMARY KEY (code_ville)
) TYPE=MyISAM;
INSERT INTO REL_villes VALUES ('S',
'Sherbrooke');
INSERT INTO REL_villes VALUES ('M',
'Montréal');
Pour configurer les liens appropriés et afficher
l'information :
- 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»
[6.7] Comment puis-je utiliser la fonctionnalité
«Champ à afficher»?
À 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 partie 6.21 de la FAQ
pour une fonctionnalité
additionnelle que «Champ à afficher»
permet : une liste déroulante des valeurs possibles.
[6.8] Comment puis-je produire un schéma PDF de ma base de
données?
D'abord vous devez renseigner les variables de configuration
«relation», «table_coords» et
«pdf_pages».
Ensuite, réfléchissez à la mise en page de votre
schéma : quelles tables iront sur quelles pages.
- Cliquez sur le nom de votre base de données dans le cadre
de gauche.
- Choisissez «Structure» dans la barre de navigation en
haut.
- Choisissez «Préparer le schéma en PDF»
qui devrait se trouver quelque part en bas de page.
- Entrez le nom de la première page pdf et exécutez
(vous pouvez également utiliser la «Mise en page
automatique», qui placera sur votre page toutes les tables qui
sont liées).
- Choisissez cette page pour la modifier.
- Maintenant ajoutez une table que vous voulez voir sur cette page
et ses coordonnées puis exécutez.
D'abord vous devrez deviner ces coordonnées bien sûr,
aussi attendez vous à avoir une zone de 297 par 210 et mettez
les coordonnées de tables quelque part dessus, vous pourrez
avoir
un aperçu de ce que ça donne et les changer plus tard.
Par exemple, x=100 et y=200 signifie que la table sera à 200 mm
en bas et 100 mm à droite à partir du coin
supérieur gauche.
En fait, si vous avez une largeur supérieure à 300 et une
hauteur supérieure à 200, alors ce sera mis à
l'échelle mais, 200 par 100 est un bon début pour avoir
une idée des coordonnées à utiliser.
- Il y a aussi un éditeur visuel (scratchboard) disponible,
voir l'explication dans la section $cfg['WYSIWYG-PDF'].
- Après chaque table soumise, vous aurez la
possibilité de soumettre d'autres tables.
- Quand vous avez ajouté suffisamment de tables, cliquez sur
le nom de votre base de données.
- Maintenant, de nouveau en bas de page, vous devriez être en
mesure de choisir «Affichez le schéma en PDF».
Pour tester, il pourrait être utile d'afficher la grille, ainsi
vous pourrez voir les coordonnées utilisées.
Vous pouvez aussi choisir la couleur et soumettre.
- Sauvegardez le fichier qui vous est proposé pour quelque
chose comme Schema.pdf
(Internet Explorer a quelques bogues qui pourraient faire que le
fichier soit présenté sans extension. Sous Windows il est
important d'avoir une extension «.pdf», sous d'autres
systèmes d'exploitation, cela devrait fonctionner en
sauvegardant simplement le fichier tel qu'il est proposé).
[6.9] phpMyAdmin change le type de l'une de mes colonnes!
Non, c'est MySQL qui fait des changements
silencieux de type de colonne.
[6.10] En créant un privilège, qu'arrive-t-il aux
traits de soulignement (underscore) dans le nom de la base de
données?
Si vous ne mettez pas de barre oblique inverse (backslash) avant le
trait de soulignement, c'est un méta-caractère pour les
autorisations, et le trait de soulignement signifie «tout
caractère». Aussi, si le nom de base de données est
«john_db», l'utilisateur aura des droits sur john1db,
john2db...
Si vous mettez une barre oblique inverse devant le trait de
soulignement, cela signifie que le nom de la base de données
aura un vrai trait de soulignement.
[6.11] Quel est ce curieux symbole ø dans les pages de
statistiques?
Il signifie «moyenne».
[6.12] Je veux comprendre certaines options de Exporter.
«Insertions complètes» ajoute les noms de
colonnes sur chaque commande INSERT,
pour une documentation plus détaillée (mais le fichier
résultant est plus gros).
«Insertions étendues» fournit un fichier
d'exportation plus petit en utilisant une seule fois le mot INSERT et
le nom de la table.
«Protéger les noms des tables et des champs par des `
» assure que les noms de champs et de tables formés
avec des caractères spéciaux soient
protégés.
«Inclure la valeur courante de l'AUTO_INCREMENT» assure que
la valeur de l'AUTO_INCREMENT (s'il y en a)
sera incluse dans la sauvegarde.
«Inclure sous forme de commentaires» inclut les
commentaires des colonnes, des relations et des types MIME
définis dans la base de données PMA-DB dasn le fichier
d'exportation en tant que commentaires SQL (/* xxx */).
[6.13] J'aimerais créer une base de données avec un
point dans son nom.
C'est une mauvaise idée, car dans MySQL la syntaxe
«database.table» est la manière normale de
référencer une base de données et un nom de table.
Pire, MySQL
vous laissera normalement créer cette base de données
avec un point, mais alors vous ne pourrez pas travailler avec, ni la
supprimer.
[6.14] Comment configurer le valideur de code SQL?
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.
Si vous l'utilisez, soyez conscient que toute requête SQL que
vous exécutez sera stockée de manière anonyme
(noms de base de données/table/colonne, chaînes,
nombres sont remplacés avec des valeurs
génériques). Le Mimer SQL Validator,
est sous copyright © 2001 Upright Database Technology. Nous
l'utilisons en tant que service SOAP
gratuit.
[6.15] Je veux ajouter un champ BLOB et ajouter un index dessus,
mais MySQL dit «BLOB column '...' used in key specification
without a key
length».
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.
[6.16] Comment puis-je me déplacer simplement dans une page
remplie de champs modifiables?
Vous pouvez utiliser Ctrl+flèches sur la plupart des pages
remplies de champs modifiables (structure de table, ligne modifiable,
etc.) (ceci doit être activé dans la configuration - voir
$cfg['CtrlArrowsMoving']). Vous pouvez également consulter la
directive $cfg['DefaultPropDisplay'] ('vertical')
et voir si cela vous aide pour les modifications.
[6.17] Transformations : je ne peux pas entrer mon propre type
mime! À quoi peut bien servir cette f.... fonctionnalité
alors?
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é?
[6.18] Signets : Où puis-je stocker les signets? Pourquoi
aucun signet n'est visible en-dessous de la boîte de
requête?
Toute requête que vous exécutez peut être
stockée en tant que signet sur la page où sont
affichés les résultats. Vous trouverez un bouton
intitulé 'Conserver cette requête dans les signets' juste
à la fin de la page.
Dès que vous avez stocké un signet, il est relié
à la base de données dans laquelle vous avez
exécuté la requête. Vous pouvez maintenant avoir
accès à une liste déroulante de signets sur
chacune des pages sur lesquelles la boîte de requête
apparaît sur cette base de données.
Depuis phpMyAdmin 2.5.0, vous pouvez également stocker des
variables pour les signets. Utilisez juste la chaîne /*[VARIABLE]*/
n'importe où dans votre requête. Tout ce qui est mis dans
la boîte de saisie valeur sur la page de la boîte
de requête remplacera la chaîne
«/*[VARIABLE]*/» dans votre requête stockée.
Notez que vous DEVEZ créer une requête valide, sinon elle
ne sera même pas stockée dans votre base de données.
Rappelez-vous également que tout ce qui se trouve à
l'intérieur de la chaîne /*[VARIABLE]*/
pour votre requête restera en l'état, mais sera
débarassé des caractères /**/ . Donc vous pouvez
utiliser :
/*, [VARIABLE] AS myname */
qui sera reproduit en
, VARIABLE as myname
dans votre requête, où VARIABLE est la chaîne que
vous avez saisie dans la boîte de saisie. Si une chaîne
vide est fournie, aucun remplacement ne sera effectué.
Un exemple plus complexe. Disons que vous avez stocké cette
requête :
SELECT Name, Address FROM addresses WHERE 1 /* AND Name LIKE
'%[VARIABLE]%' */
Imaginons que vous saisissiez «phpMyAdmin» comme variable
pour votre requête stockée,
la requête complète sera :
SELECT Name, Address FROM addresses WHERE 1 AND Name LIKE
'%phpMyAdmin%'
Vous pouvez utiliser de multiples occurrences de /*[VARIABLE]*/
dans une seule requête.
REMARQUEZ L'ABSENCE D'ESPACE à l'intérieur de la
construction «/**/». Tout espace inséré sera
plus tard également inséré en tant qu'espace dans
votre requête et peut conduire à des résultats
inattendus, particulièrement en utilisant l'expansion de
variable dans une expression «LIKE ''».
Votre requête initiale que vous voulez stocker comme signet doit
produire au moins une ligne de résultat pour pouvoir être
stockée. Vous aurez peut-être besoin de tâtonner
pour bien positionner les commentaires «/**/».
[6.19] Comment puis-je créer simplement un document LaTeX
pour y inclure une table exportée?
Vous pouvez inclure simplement une table dans vos documents LaTeX,
un exemple de document minimaliste devrait ressembler à celui
qui suit (en supposant que vous avez une table exportée dans le
fichier table.tex) :
\documentclass{article} % ou toute classe que vous désirez
\usepackage{longtable} % pour afficher la table
\begin{document} % début du document
\include{table} % inclure la table exportée
\end{document} % fin du document
[6.20] Dans MySQL 4, je vois beaucoup de bases de données
qui ne sont pas à moi et que je ne peux accéder.
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, jusqu'à ce que vous
mettiez à jour les tables d'autorisation, comme cela est
décrit dans le manuel MySQL, section 2.5.6. 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.
[6.21] En mode modifier/insérer,
comment puis-je voir une
liste des valeurs possibles pour un champ, basée sur une table
étrangère?
Vous devez configurer les liens appropriés entre les tables,
ainsi que le «champ à afficher» (display field) dans
la table étrangère. Voir la partie
6.6 de la FAQ 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.
[6.22] Signets : Puis-je exécuter automatiquement en
entrant en mode Afficher pour une table?
Oui. Si un signet a le même label qu'un nom de table, il sera
exécuté.
[7. Projet phpMyAdmin]
[7.1] J'ai trouvé un bogue. Comment dois-je en informer les
développeurs?
Notre Bug Tracker est situé sur http://sourceforge.net/projects/phpmyadmin/
sous la section Bugs.
Mais s'il vous plaît, veuillez d'abord en discuter avec d'autres
utilisateurs :
http://sourceforge.net/projects/phpmyadmin/ (puis choisir Forums)
[7.2] Je veux traduire les messages dans une nouvelle langue ou
mettre à jour une langue existante, où dois-je commencer?
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.
[7.3] Je voudrais aider au développement de phpMyAdmin.
Comment dois-je procéder?
La méthode suivante est préférable pour les
nouveaux développeurs :
- télécharger l'arbre CVS en cours en connexion
anonyme :
cvs
-d:pserver:anonymous@cvs.phpmyadmin.sourceforge.net:/cvsroot/phpmyadmin
login
[Mot de passe : taper simplement sur la touche Entrée]
cvs -z3
-d:pserver:anonymous@cvs.phpmyadmin.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.
[8. Sécurité ]
[8.1] Alerte de sécurité, du 18-06-2003.
Dernière mise à jour de cette FAQ : 22-07-2003.
L'équipe de développement de phpMyAdmin a reçu
cette note sur une alerte de sécurité :
http://www.securityfocus.com/archive/1/325641.
L'équipe regrette que l'auteur n'ait pas communiqué avec
nous avant d'envoyer cette alerte. Cependant, voici notre
réponse à ce jour, aux points mentionnés :
- «Attaque transversale de répertoire»
Ce problème a été corrigé dans la version
2.5.0, même si l'auteur rapporte que la version de
développement 2.5.2 est vulnérable, nous n'avons pas pu
reproduire ce problème.
- «Récupérer un fichier local à
distance»
C'est un titre trompeur, comme le dit l'auteur dans son texte :
«remarquez que vous ne pouvez pas demander de fichiers (seulement
des répertoires)».
- «Listage du répertoire interne à
distance»
Il était possible de récupérer la liste du
répertoire de phpMyAdmin (nous doutons que cela puisse causer
des dommages), mais nous l'avons corrigé dans la version 2.5.2.
- «XSS et révélation de chemin
d'accès»
La plupart des problèmes XSS ont été
corrigés dans la version 2.5.0. Le reste a été
résolu dans la version 2.5.2.
Nous pensons que le problème de révélation de
chemin d'accès a également été
corrigé dans la version 2.5.2.
- «Faiblesse de codage de l'information»
Nous pensons qu'un «exploit» pour cette faiblesse serait
difficile à obtenir. Cependant la version 2.5.2 code maintenant
le mot de passe avec l'algorithme bien-connu blowfish.
Information pour les développeurs
phpMyAdmin est un logiciel Open Source, aussi vous êtes
invités à y contribuer.
Beaucouip 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 header.inc.php (mise en
page), libraries/common.lib.php
(fonctions communes) et config.inc.php.
Toutes les données de configuration se trouvent dans le fichier config.inc.php.
Veuillez le gardez exempt d'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.ratschiller_at_maguma.com>
* créateur du projet phpMyAdmin
* mainteneur de 1998 à l'été
2000
- Marc Delisle <DelislMa_at_CollegeSherbrooke.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>
* various fixes
* moderator of the phpMyAdmin users forum at 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>
* exports XML
* fonctionnalités relatives à MySQL
* divers correctifs et fonctionnalités
* mise à jour du fichier de langue allemande
-
Mike Beck <mike.beck_at_ibmiller.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/).
-
Olof Edlund <olof.edlund_at_upright.se>
* serveur valideur SQL
-
Ivan R. Lanin <ivanlanin_at_users.sourceforge.net>
* logo phpMyAdmin
-
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
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 changement
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.