phpMyAdmin Documentation FAQ
Table des Matières 8. FAQ - Foire Aux Questions 8.1. Serveur 8.2. Configuration 8.3. Limitations connues 8.4. FAI, Installation Multi-utilisateurs 8.5. Navigateurs et système d'exploitation client 8.6. Utiliser phpMyAdmin 8.7. Projet phpMyAdmin 8.8. Sécurité
Veuillez jeter un œil à notre section Links sur la page d'accueil officielle de phpMyAdmin pour une revue détaillée des fonctionnalités de phpMyAdmin et/ou de son interface.
F1.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 bugs 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. F1.2 Mon serveur Apache plante en utilisant phpMyAdmin. Vous devez tout d'abord essayer les dernières versions de Apache (et si possible de MySQL). Veuillez également consulter la section FAQ 1.1 sur les bugs 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. F1.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 bug connu de PHP (voir ce rapport de bug) recensé dans la base de données officielle de bugs 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. F1.4 J'utilise phpMyAdmin avec, 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 bug de la base de données officielle de bugs de PHP. F1.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. Veuillez utiliser plutôt le mode d'authentification par cookie. F1.6 Je ne peux pas utiliser phpMyAdmin avec PWS : rien ne s'affiche ! Cela semble être un bug de PWS. Filippo Simoncini a trouvé une solution de rechange (pour le moment, il n'y a pas de meilleur moyen) : supprimez ou mettez en commentaire les déclarations DOCTYPE (deux lignes) des scripts libraries/header.inc.php, libraries/header_printview.inc.php, index.php, left.php et libraries/libraries/common.lib.php. F1.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. F1.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 F1.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 bug 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 ! F1.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. F1.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. F1.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. F1.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. F1.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. F1.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. F1.16 Je ne peux pas transférer de gros fichiers d'exportation (problèmes de mémoire, HTTP ou de temporisation - timeout). À partir de la version 2.7.0, le moteur d'importation a été ré-écrit et ces problèmes ne devraient plus arriver. Si possible, mettez à jour votre phpMyAdmin avec la dernière version pour tirer parti des nouvelles fonctionnalités d'importation. Les premières choses à vérifier (ou à demander à votre fournisseur d'accès de vérifier) sont les valeurs upload_max_filesize, memory_limit et post_max_size dans le fichier de configuration php.ini. L'ensemble de ces trois paramètres limitent la taille maximale des données qui peuvent être soumises par PHP. Un utilisateur a également dit que post_max_size et memory_limit doivent être plus grandes que upload_max_filesize. Il existe plusieurs moyens de contournement si votre upload est trop gros ou si votre hébergeur ne souhaite pas modifier les paramètres : Regardez la fonctionnalité $cfg['UploadDir']. Ceci permet d'uploader un fichier vers un serveur via scp, ftp ou votre méthode de transfert de fichier préférée. PhpMyAdmin est alors capable d'importer les fichiers à partir du répertoire temporaire. Plus d'onformations sont disponibles dans la section Configuration En utilisant un utilitaire (tel que BigDump) pour découper le fichier avant de l'uploader. Nous ne gérons pas ceci ni aucune application tierce, mais nous savons que des utilisateurs ont réussi à le faire. Si vous avez un accès au shell (ligne de commande), utilisez MySQL pour importer les fichiers directement. Vous pouvez faire ceci en utilisant la commande « source » dans MySQL : source nomfichier.sql. F1.17 Quelles versions de MySQL sont gérées par phpMyAdmin ? Toutes les versions MySQL de la version 3.23.32 jusqu'à la version 5.0 sont totalement gérées. Veuillez noter que plus votre version de MySQL est ancienne, plus vous serez confronté à des limitations. phpMyAdmin peut se connecter à votre serveur MySQL en utilisant l'extension MySQL classique de php tout autant que l'extension améliorée de MySQL (MySQLi) qui est disponible dans php 5.0. Quoiqu'il en soit, les développeurs des deux extensions recommandent d'utiliser l'extension classique pour MySQL 4.0 et les versions précédentes et MySQLi pour MySQL 4.1 et les versions ultérieures. En compilant php, nous recommandons fortement de lier manuellement l'extension MySQL de votre choix à une bibliothèque client MySQL d'au moins la même version mineure, puisque celle qui est fournie avec les distributions de php actuelles est plutôt ancienne et pourrait causer des problèmes (voir également FAQ 1.17a). Si votre serveur Web fonctionne sous un système Windows, vous devriez essayer le connecteur PHP de MySQL plutôt que les extensions MySQL / MySQLi livrées avec les versions Win32 PHP offcielles. MySQL 5.1 n'est pas encore géré. F1.17a Je ne peux pas me connecter au serveur MySQL. Il renvoie toujours le message d'erreur, « Le client ne gère pas le protocole d'authentification requis par le serveur; envisagez de mettre à jour votre client MySQL ». Vous avez essayé d'accéder à MySQL avec une ancienne bibliothèque client MySQL. La version de votre bibliothèque client MySQL peut être vérifiée dans le résultat de votre fonction phpinfo(). En général, elle devrait avoir au moins la même version mineure que votre serveur - comme cela est précisé dans la section FAQ 1.17. Ce problème est généralement observé en utilisant MySQL version 4.1 ou ultérieure. MySQL a changé l'empreinte numérique (« hash ») d'authentification et votre PHP essaie d'utiliser l'ancienne méthode. La solution adéquate est d'utiliser l'extension mysqli avec la bonne bibliothèque client pour correspondre à votre installation MySQL. L'extension que vous avez choisie est indiquée dans $cfg['Servers'][$i]['extension']. Vous trouverez plus d'informations (et de moyens de contournement) dans la documentation MySQL. F1.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 bug 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. F1.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. F1.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. F1.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. F1.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 ». F1.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'; F1.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 bug de PHP 4.2.3. F1.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. F1.26 Je viens d'installer phpMyAdmin dans le document racine de IIS mais j'obtiens l'erreur « Le fichier spécifié est introuvable » quand j'essaie d'exécuter phpMyAdmin. C'est un problème de permission. Faites un clic droit sur le dossier phpmyadmin et sélectionner Propriétés. Dans l'onglet Sécurité, cliquez sur « Ajouter » et sélectionner l'utilisateur « IUSR_machine » à partir de la liste. Définissez maintenant ses permissions et cela devrait fonctionner. F1.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 bug 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 bug sera corrigé dans PHP version 5.0.0. F1.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 bug 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. F1.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 et AddType application/x-httpd-php.php Dans le cas que nous avons constaté, un jeu de directives était dans le fichier /etc/httpd/conf/httpd.conf, alors que l'autre était dans le fichier /etc/httpd/conf/addon-modules/php.conf. La manière recommandée est AddType, mettez seulement en commentaire le premier jeu de lignes et redémarrez Apache : #SetOutputFilter PHP #SetInputFilter PHP F1.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. F1.31 phpMyAdmin gène-t-il php5 ? Oui. Cependant, phpMyAdmin a besoin d'être rétro-compatible avec php4. C'est pourquoi vous ne pourrez pas exécuter phpMyAdmin en ayant activé le paramètre E_STRICT dans error_reporting. F1.32 Puis-je utiliser l'authentification HTTP avec IIS ? Oui. Cette procédure a été testée avec phpMyAdmin 2.6.1, PHP 4.3.9 en mode ISAPI sous IIS 5.1. Dans votre fichier php.ini, paramétrez cgi.rfc2616_headers = 0 Dans la boîte de dialogue Propriétés de site -> Sécurité de fichier/répertoire -> Accès anonyme, cochez la case Accès anonyme et décochez toutes les autres cases (c-à-d décochez Authentification de base, Authenfication intégrée Windows, et Digest si ces cases sont cochées). Cliquez sur OK. Dans Erreurs personnalisées, sélectionnez de 401;1 à 401;5 et cliquez sur le bouton Définir par défaut. F1.33 Y a-t-il un problème avec l'extension mysqli quand on utilise PHP 5.0.4 sur des systèmes 64 bits ? Oui. Ce problème affecte phpMyAdmin (« Appel à la fonction indéfinie pma_reloadnavigation »), aussi, veuillez mettre à jour votre version de PHP. F1.34 Puis-je accéder directement aux pages des bases de données ou des tables ? Oui. Sans autre configuration, vous pouvez utiliser des URL de type http://server/phpMyAdmin/index.php?db=database&table=table&target=script Les parties « table » et « script » sont optionnelles. Si vous voulez utiliser des URL du type http://server/phpMyAdmin/database[/table][/script], vous devrez faire quelques ajustements. Les lignes suivantes ne s'appliquent que pour un serveur Web Apache. D'abord, assurez-vous que vous avez activé certaines fonctionnalités dans la configuration globale. Vous avez besoin que Options FollowSymLinks et AllowOverride FileInfo soient activés pour le répertoire où est installé phpMyAdmin et que « mod_rewrite » soit activé. Alors, vous aurez seulement besoin de créer le fichier .htaccess suivant dans le dossier racine de l'installation de phpMyAdmin (n'oubliez pas de changer le nom du répertoire) : RewriteEngine On RewriteBase /path_de_phpMyAdmin RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&table=$2&target=$3 [R] RewriteRule ^([a-zA-Z0-9_]+)/([a-z_]+\.php)$ index.php?db=$1&target=$2 [R] RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)$ index.php?db=$1&table=$2 [R] RewriteRule ^([a-zA-Z0-9_]+)$ index.php?db=$1 [R] F1.35 Puis-je utiliser l'authentification HTTP avec Apache CGI ? Oui. Cependant vous aurez besoin de passer la variable d'authentification à CGI en utilisant la règle rewrite suivante : RewriteEngine On RewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L] F1.36 I get an error « 500 Internal Server Error ». Il peut y avoir plusieurs explications à cela et consulter le journal des erreurs de votre serveur devrait vous donner une piste.
F2.1 Le message d'erreur « Warning: Cannot add header information - headers already sent by … » est affiché, quel est le problème ? É ditez votre fichier config.inc.php et assurez-vous qu'il n'y a rien (c'est-à-dire pas de ligne blanche, pas d'espace, pas de caractère…) ni devant la balise <?php au début du fichier, ni après la balise ?> à la fin du fichier. F2.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. F2.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 : D'abord, vous devez déterminer quel socket est utilisé par MySQL. Pour cela, faites un telnet sur votre serveur et allez dans le répertoire bin de MySQL. Dans ce répertoire il devrait y avoir un fichier appelé mysqladmin. Tapez alors ./mysqladmin variables, et cela devrait vous donner un paquet d'infos sur votre serveur MySQL, y compris le socket (/tmp/mysql.sock, par exemple).Ensuite, vous devez dire à PHP d'utiliser ce socket. Pour faire cela dans phpMyAdmin, vous devez compléter l'information sur le socket dans votre fichier config.inc.php. Par exemple : $cfg[Servers][$i]['socket'] = '/tmp/mysql.sock'; Veuillez également vous assurer que les permissions de ce fichier permettent à votre serveur web de lire le fichier (c'est-à-dire '0755'). Consultez également la section correspondante dans la documentation MySQL. F2.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. F2.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. F2.6 Redirection localhost sur port local et nom d'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. F2.7 Utiliser et créer des thèmes Les thèmes sont configurés avec $cfg['ThemePath'], $cfg['ThemeManager'] et $cfg['ThemeDefault']. Sous $cfg['ThemePath'], vous ne devez pas supprimer le répertoire « original » ou ses sous-répertoires, car c'est le thème système utilisé par phpMyAdmin. « original » contient tous les styles et images, pour des raisons de compatibilité descendante et pour tous les thèmes qui qui ne comportent pas d'images ou de fichiers css. Si $cfg['ThemeManager'] est activé, vous pouvez sélectionner votre thème préféré à partir de la page principale. Le thème sélectionné sera alors stocké dans un cookie. Pour créer un thème : créez un nouveau sous-répertoire (par exemple « votre_nom_de_theme ») dans $cfg['ThemePath'] (par défaut themes) copiez les fichiers et les répertoires de « original » vers « votre_nom_de_theme » éditez vos fichiers css dans « votre_nom_de_theme/css » mettez vos nouvelles images dans « votre_nom_de_theme/img » éditez layout.inc.php dans « votre_nom_de_theme » éditez info.inc.php dans « votre_nom_de_theme » pour qu'il contienne votre nom de thème, qui sera visible dans l'interface utilisateur faites un nouveau cliché de votre thème et enregistrez-le sous « votre_nom_de_theme/screen.png » Dans le répertoire « theme » il y a info.inc.php qui contient le nom long, la génération et la version du thème. Ces versions et générations sont énumérées à partir de 1 et n'ont aucune dépendances directes avec la version de phpMyAdmin. Les thèmes d'une même génération doivent être rétro-compatibles - un thème de version 2 devrait fonctionner avec phpMyAdmin nécessitant une version 1. Les thèmes de générations différentes sont incompatibles. Si vous ne voulez pas utiliser vos propres symboles et boutons, supprimez le répertoire « img » dans « votre_nom_de_theme ». phpMyAdmin utilisera les icônes et boutons par défaut (du thème système « original »). F2.8 J'obtiens des erreurs « Missing parameters », que puis-je faire ? Vérifiez les points suivants : Dans le fichier config.inc.php, essayez de laisser la directive $cfg['PmaAbsoluteUri'] vide. Voir également la section FAQ 4.7 Votre installation de PHP est peut-être corrompue ou vous avez besoin de mettre à jour votre Zend Optimizer. Voir http://bugs.php.net/bug.php?id=31134. Si vous utilisez Hardened PHP avec la directive ini varfilter.max_request_variables et la définissez à sa valeur par défaut (200) ou une autre valeur plus basse, vous pouvez obtenir cette erreur si votre table a un grand nombre de colonnes. Ajustez ce paramètre en conséquence. (Merci à Klaus Dorninger pour l'astuce). Dans la directive arg_separator.input dans php.ini, une valeur « ; » provoque cette erreur. Remplacez-la par « &; ».
F3.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. F3.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. F3.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 bug de InnoDB (corrigé dans MySQL 3.23.50 ?). F3.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 #--------------------------------------------------------- F3.5 En utilisant des dossiers imbriqués il y a de multiples hiérarchies qui sont mal affichées ? ! ($cfg['LeftFrameTableSeparator']) Veuillez noter que vous ne devez pas utiliser la chaîne de séparation plusieurs fois sans insérer de caractère entre ces chaînes, ou au début/fin de votre nom de table. Si vous devez le faire, cherchez un autre séparateur de table ou désactivez la fonctionnalité. F3.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. Dans l'édition de schéma PDF, le plan automatique. F3.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. F3.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. F3.9 J'obtiens des messages d'erreur en utilisant « --sql_mode=ANSI » pour le serveur MySQL. Quand MySQL est exécuté en mode de compatibilité ANSI, il y a des différences majeures dans la façon dont SQL est structuré (voir http://dev.mysql.com/doc/mysql/en/ANSI_mode.html). Le plus important, le caractère guillemet (") est interprété en tant que caractère guillemet identifiant et non comme le caractère guillemet annonçant une chaîne, ce qui provoque des requêtes SQL invalides dans beaucoup d'opérations internes de phpMyAdmin. Il n'y a pas de solution de rechange à ce comportement. Des nouvelles sur ce sujet seront postées dans le rapport de bug #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. F3.11 Le nombre d'enregistrement pour les tables InnoDB est incorrect. phpMyAdmin utilise une méthode rapide pour obtenir le nombre de lignes, et cette méthode ne renvoie qu'un nombre approximatif pour les tables InnoDB. Voir $cfg['MaxExactCount'] pour le moyen de modifier ces résultats, mais cela peut avoir un sérieux impact sur les performances. F3.12 Quelles sont les limitations de phpMyAdmin avec MySQL 3 ? Le nombre d'enregistrements dans les requêtes contenant COUNT et GROUP BY n'est pas calculé correctement. Également, le tri des résultats d'une requête telle que « SELECT * from table GROUP BY » …est problématique. F3.13 J'obtiens une erreur en saisissant USE suivi du nom d'une base de données contenant un trait d'union. Les tests que j'ai effectués avec l'API actuelle de MySQL 4.1.11, montre que cette API n'accepte pas cette syntaxe pour la commande USE. En encadrant le nom de la base de données avec des apostrophes inversées (« ` »), cela fonctionne. Pour ajouter encore à la confusion, aucune apostrophe inversée n'est nécessaire en ligne de commande mysql.
F4.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 ». F4.2 Quel est le meilleur moyen de sécuriser phpMyAdmin contre les attaques malicieuses ? Cela dépend de votre système. Si vous utilisez un serveur qui ne peut pas être accédé par d'autres personnes, il est suffisant d'utiliser la protection de répertoire fournie avec votre serveur Web (avec Apache vous pouvez utiliser les fichiers .htaccess, par exemple). Si d'autres personnes ont un accès telnet à votre serveur, vous devriez utiliser la fonctionnalité d'authentification HTTP ou par cookie de phpMyAdmin. Suggestions : Votre fichier config.inc.php devrait être chmod 660. Tous les fichiers phpMyAdmin devraient être chown -R phpmy:apache, où phpmy est un utilisateur dont le mot de passe est connu de vous seul, et apache est le groupe avec lequel Apache est exécuté. Vous devriez utiliser le mode sécurisé de PHP, pour vous protéger des autres utilisateurs qui pourraient inclure votre fichier config.inc.php dans leurs scripts. F4.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. F4.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. F4.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. F4.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', ); F4.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.
F5.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. F5.2 Avec Xitami 2.5b4, phpMyAdmin ne traite pas les champs formulaires. Ce n'est pas un problème de phpMyAdmin mais un bug 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. F5.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. F5.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 bug 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 ! F5.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. F5.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. F5.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é. F5.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 bug de Mozilla : la version 0.9.6 était OK. Nous garderons ce bug à l'esprit pour les futures versions de Mozilla. F5.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 bug Mozilla (voir bug #26882 sur BugZilla). F5.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 bug 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 bug. F5.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. F5.12 Mac OS X : le navigateur Safari change les caractères spéciaux en « ? ». Ce problème a été rapporté par un utilisateur de OS X, qui ajoute que Chimera, Netscape et Mozilla n'ont pas ce problème. F5.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 bug de Internet Explorer, les autres navigateurs ne se comportent pas de cette manière. F5.14 En utilisant Opera 6, 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 bug 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. F5.15 J'ai des problèmes d'affichage avec Safari. Veuillez mettre à jour au moins à la version 1.2.3. F5.16 Avec Internet Explorer, j'obtiens des erreurs Javascript « Accès refusé ». Ou je n'arrive pas à faire fonctionner phpMyAdmin sous Windows. Vérifiez les points suivants : Vous avez peut-être défini votre paramètre PmaAbsoluteUri du fichier config.inc.php avec une adresse IP et vous démarrez phpMyAdmin avec une URL contenant un nom de domaine, ou inversement. Les paramètres de sécurité de Internet Explorer et/ou du Centre de sécurité Microsoft sont trop elevés et empêchent par conséquent l'exécution des scripts.Le pare-feu de Windows bloque Apache et MySQL. Vous devez autoriser les ports http (80 ou 443) et le port MySQL (normalement 3306) en entrée et en sortie. F5.17 Avec Firefox, je ne peux pas supprimer des lignes de données ou une base de données. Plusieurs utilisateurs ont confirmé que l'extension « Tabbrowser » qu'ils avaient installé sur leur Firefox, est la cause de ce problème.
F6.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 mp. 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. F6.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. F6.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). F6.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. F6.5 Comment puis-je restaurer (transmettre) ma base de données ou ma table en utilisant un fichier d'exportation ? Comment puis-je exécuter un fichier « .sql » ? Cliquer sur le nom d'une base de données dans le cadre de gauche, les propriétés seront affichées. Sélectionnez « Importer » dans la liste des onglets dans le cadre de droite (ou « SQL » si votre version de phpMyAdmin est antérieure à la version 2.7.0). Dans la section « Emplacement du fichier texte », saisissez votre nom de fichier d'exportation, ou cliquez sur le bouton Afficher. Puis cliquez sur Exécuter. À partir de la version 2.7.0, le moteur d'importation a été ré-écrit; si possible, il est suggéré de mettre à jour votre version pour tirer parti des nouvelles fonctionnalités. Pour de l'aide supplémentaire sur ce sujet, cherchez le mot « transm » dans ce document. F6.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 » F6.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 section FAQ 6.21 pour une fonctionnalité additionnelle que « Champ à afficher » permet : une liste déroulante des valeurs possibles. F6.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. Sélectionnez votre base de données dans le cadre de gauche. Choisissez « Opérations » dans la barre de navigation en haut. Choisissez « Préparer le schéma en PDF » vers le bas de la page. Entrez le nom de la première page pdf et cliquez sur « Exécutez » Vous pouvez également utiliser la « Mise en page automatique », qui placera sur votre page toutes les tables qui sont liées). Sélectionnez le nom de la nouvelle page (en vous assurant que le bouton radio « Modifier » est sélectionné) et cliquez sur « Exécuter ». Sélectionnez une table dans la liste, entrez ses coordonnées et cliquez sur « Enregistrer ». Les coordonnées sont relatives; votre diagramme s'ajustera automatiquement à l'échelle de la page. Lors du placement initial des tables, choisissez juste des coordonnées -- disons 50x50. Après avoir cliqué sur « Enregistrer », vous pouvez utiliser l'éditeur graphique pour placer correctement l'élément. Quand vous voudrez regarder votre PDF, assurez-vous d'abord de cliquer sur le bouton « Enregistrer » sous la liste des tables et des coordonnées pour enregistrer les changements que vous y avez fait. Puis faites défiler vers le bas, sélectionnez les options PDF que vous voulez et cliquer sur « Exécuter ». Internet Explorer pour Windows peut proposer un nom de fichier incorrect quand vous essayez d'enregistrer le fichier PDF généré. Quand vous enregistrez un fichier PDF généré, assurez-vous que son nom se termine par « .pdf », par exemple « schema.pdf ». Les navigateurs sur les autres systèmes d'exploitation et les autres navigateurs sous Windows n'ont pas ce problème. F6.9 phpMyAdmin change le type de l'une de mes colonnes ! Non, c'est MySQL qui fait des changements silencieux de type de colonne. F6.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. F6.11 Quel est ce curieux symbole ø dans les pages de statistiques ? Il signifie « moyenne ». F6.12 Je veux comprendre certaines options de Exporter. Structure : « Inclure des énoncés "DROP TABLE" » ajoutera une ligne disant à MySQL de supprimer la table si elle existe déjà pendant l'importation. Cela ne supprime PAS la table après votre export, cela n'affecte que le fichier d'importation. « Ajouter "IF NOT EXISTS" » créera seulement la table si elle n'existe pas. Sinon, vous pouvez obtenir une erreur si le nom de table existe mais qu'elle a une structure différente. « Inclure la valeur courante de l'AUTO_INCREMENT » assure que la valeur AUTO_INCREMENT (s'il y en a une) sera incluse dans la sauvegarde. « Protéger les noms des tables et des champs par des "`" » assure que les noms de champ et de table contenant des caractères spéciaux sont protégés. « Inclure sous forme de commentaires » inclut les commentaires des colonnes, les relations et les types MIME définis dans la base de données PMA-DB dans le fichier d'exportation en tant que commentaires SQL (/* xxx */). Données : « Insertions complètes » ajoutes les noms de colonne sur chaque commande INSERT, pour une meilleure documentation (mais le fichier résultant est plus gros). « Insertions étendues » fournit une fichier d'exportation plus petit en utilisant seulement une fois INSERT et le nom de la table. « Insertions avec délais (DELAYED) » sont très bien expliqués dans le Manuel MySQL. « Ignorer les erreurs de doublons (INSERT IGNORE) » traite les erreurs comme des avertissements. À nouveau, vous pourrez trouver plus de détails dans le Manuel MySQL, mais en gros, avec cette option, les valeurs invalides sont ajustées et insérées plutôt que de provoquer l'échec de la déclaration tout entière. F6.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. F6.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. Sur une version pear plus récente, j'ai eu des problèmes car Net_DIME était en version beta, aussi, cette simple commande « pear -d preferred_state=beta install -a SOAP » a installé tous les modules nécessaires. Si vous utilisez le Validateur, soyez conscient que toute requête SQL que vous exécutez sera stockée de manière anonyme (noms de base de données/table/colonne, chaînes, nombres sont remplacés avec des valeurs génériques). Le Mimer SQL Validator, est sous copyright © 2001 Upright Database Technology. Nous l'utilisons en tant que service SOAP gratuit. F6.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. F6.16 Comment puis-je me déplacer simplement dans une page remplie de champs modifiables ? Vous pouvez utiliser Ctrl + flèches de direction (Option + flèches de direction dans Safari) sur la plupart des pages remplies de champs modifiables (structure de table, ligne modifiable, etc.) (ceci doit être activé dans la configuration - voir $cfg['CtrlArrowsMoving'])). Vous pouvez également consulter la directive $cfg['DefaultPropDisplay'] ('vertical') et voir si cela vous aide pour les modifications. F6.17 Transformations : je ne peux pas entrer mon propre type mime ! À quoi peut bien servir cette f…. fonctionnalité alors ? Du calme ! Définir des | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||