Manual talk:Upgrading/fr

Problème de répertoire courant lors de php update.php edit

Pour mon installation (Fedora 8), la mise à jour vers 1.13 (mediawiki-1.13.2-40.99.fc8) demande de lancer la commande "update.php" depuis le répertoire principal de mediawiki, et non depuis "maintenance" :

 cd /usr/share/mediawiki
 php maintenance/update.php

Depuis le répertoire "maintenance", j'ai l'erreur :

 A copy of your installation's LocalSettings.php
 must exist and be readable in the source directory.

bien que LocalSettings.php existe et soit correctement placé. --Hulahup 23 Nov 2008

Problème avec les accents et UTF-8 edit

Bonjour à tous

J'ai upgradé hier mon site À la version 1.13.0 finale. Et j'ai un souci d'encodage des caractères, par exemple la page "Annuaire des localités" n'existe plus et apparait comme "Annuaire des localités".

J'ai pourtant tout suivi à la lettre, dumpé ma BDD avant, remis cette version précédente, mais rien n'y fait... Et j'avais pourtant avant fair l'update 1.11 -> 1.12 sans problèmes.

Si quelqu'un peut m'aider, ca devrait pas être trop dur à fixer, non ?

Merci, Socialopedia --Rmatt 13:38, 15 August 2008 (UTC)Reply

Le truc bizarre est que ça n'a l'air de le faire que sur les titres des pages, le texte en revanche est correct. Il faut vérfier dans la base de données si la table page ansi que le champ page_title de cette table sont bien soit unicode ou binary, sinon je vois pas. iAlex 15:43, 15 August 2008 (UTC)Reply
J'ai exactement le même problème alors que la migration de la 1.11 vers la 1.12 n'a posé aucun problème. La migration vers la 1.13 supprime les articles avec des accents de la base de données et les renomme avec les caractères cités par Rmatt plus haut.

Elle serait pas sortie un peu trop tôt, cette version finale de la "release candidate" ? Comment peut-on faire pour éviter le problème ?

Note importante : ne sachant pas utiliser le script d'Update, j'ai utilisé la technique de la réinstallation par dessus en renommant le LocalSettings.php au moment opportun. Si ça peut donner une info... Urobore 13:04, 16 August 2008 (UTC)Reply
Je déplace votre discussion dans la Page de discussion de l'Upgrade vers la 1.13 plutôt que dans la page de discussion de l'édition de cette upgrade : ce sera plus utile pour les utilisateurs. Urobore 12:59, 16 August 2008 (UTC)Reply
J'ai remis cette page ici pour deux raisons :
  1. garder l'historique intatcte
  2. l'autre page est pour discuter de la version anglaise
iAlex 13:13, 16 August 2008 (UTC)Reply
Très bien, ça me convient, je m'incline. :-) Mise à jour : décidemment, entre la réinstallation hasardeuse et mon déplacement de page de discussion malheureux (je n'avais pas fait gaffe qu'on était sur la page de discussion francophone), je n'ai pas les yeux en face des trous, aujourd'hui... ;-)

Par ailleurs, je tiens à préciser que je viens de comprendre le pourquoi du problème. Je ne sais pas si Rmatt a fait la même erreur mais j'ai pour ma part fait une bourde en exécutant à nouveau l'installation : j'avais oublié de renseigner le champ des suffixes pour les tables de Mediawiki. En l'occurence, mw_. Résultat : ma base de données était pleine de tables sans suffixes (que j'ai soigneusement effacées en vérifiant qu'elles étaient bien vides et qu'il s'agissait de celles de Mediawiki), j'ai réinstallé à nouveau la 1.13 en spécifiant mw_ et le wiki fonctionne désormais à merveille.

En espérant que cette explication aide les utilisateurs tête-en-l'air... Urobore 13:19, 16 August 2008 (UTC)Reply

Et bien non, j'ai fait attention à ça ! J'ai bien le préfixe mw_ et je n'ai pas de doublon dans ma BDD.
J'ai essayé de la manipuler avec MySQL Administrator, mais j'ai des soucis. Je me suis intéressé de plus près à la table mw_pages. La colonne page_title est en charset latin1. Je veux donc la passer en utf8 pour voir si ça va s'arranger, mais en exécutant la requête SQL, j'ai droit à un "Duplicate Entry [...]" sur une page Boilerplate utilisée par l'Extension:Preloader.
Je crois que c'est un vrai bug. Y a-t-il une autre solution que faire des édits à l'arrache sur le fichier sql en mode texte ? --Rmatt 22:22, 18 August 2008 (UTC)Reply
Pour ma part, c'était lors d'un passage d'un hébergeur à un autre que j'avais eu un soucis de cet ordre-là. Je ne sais plus exactement les modalités mais, à l'époque, c'était après cette migration que le problème s'était posé. Motif : d'un serveur à l'autre, je passais d'une version de MySQL à l'autre. Il fallait en fait cocher une case de compatibilité avec l'ancienne version MySQL au moment de l'importation du dump sous PHPMyAdmin pour que ça résolve le problème. Il me semble que le fait d'être en charset latin1 ne change rien ; j'avais aussi cru à un problème de type UTF-8 et compagnie, mais ce n'était pas ça le problème. Comment as-tu fait cette mise à jour ? Par le biais du script d'Update ou en faisant une réinstallation ? As-tu essayé de réinstaller ton ancienne version (la 1.12), de remettre le dump de ta base, puis de réinstaller la 1.13 par dessus en installation manuelle, comme décrit dans la procédure ? Urobore 05:58, 20 August 2008 (UTC)Reply
Non moi je ne suis pas passé d'un serveur à un autre, j'ai fait une réinstall de la base de données, de la version 1.12, rien n'y fait, les choses sont restées comme ça. Et j'ai utilisé le script de réinstallation. Donc j'ai modifié à la main la table page_title, je m'en suis sorti. Par contre j'ai encore un problème les pages spéciales "Toutes les pages" et "Catégories" me listent des pages et catégories inexistantes. Comment mettre ça à jour ? Par exemple, la catégorie : Catégorie:Annuaire des localités est listée et n'existe pas alors Catégorie:Annuaire des localités existe... --Rmatt 20:40, 24 August 2008 (UTC)Reply
Petite précision, j'ai refait le script d'install après les MAJ manuelles, rien ne change. En faisant le script, j'ai vu que ma BDD est en schéma MySQL 4 et qu'il ne peut ou veut pas la passer en MySQL5. Aucune idée si ca peut venir de là.--Rmatt 21:58, 24 August 2008 (UTC)Reply
Bonjour, j'ai eu le même problème : en passant de la 1.11.1 à la 1.13.2 (méthode par remplacement du code + suppression du fichier LocalSettings.php et relance de l'installeur), tous les titres ont subi une transformation liée à l'encodage. J'ai aussi eu le message à propos du pb de schéma mySql 4 vs. 5.
Le problème s'est répercuté sur toutes les tables où figurent des titres (recentchanges, watchlist, etc.) et aussi la table des users.
J'ai dû corriger le tout à la main :( Heureusement ma base n'était pas trop importante !
Bien cordialement,
-- AlNo 09:24, 7 December 2008 (UTC)Reply


Bonjour, je viens de découvrir ce problème également qui touche les pages de titre.

J'avais au départ une ubuntu server 6.06 avec mediawiki 1.7 . Comme j'avais le disque dur qui présentait un pb, j'ai exporté ma base vers un fichier mabase.sql

J'avais d'abord installé une Ubuntu 8.10 amd64 et mediawiki 1.12 qui m'a généré les mêmes caractères dans plein de titres, puis ayant lu que ubuntu utilisait l'utf8 j'ai installé cet apremidi encore une debian 4.05 stable amd64 et mediawiki 1.13 (la toute dernière) qui m'a fait exactement le même problème.

En faisant des :

UPDATE page SET `page_title` = REPLACE(page_title,'é','autrescaractères');

avec phphmyadmin dans la base, j'obtiens des résultats mais c'est lourd et j'aimerais bien comprendre pourquoi il y a ce pb et surtout comment le régler proprement.

Christian 22:41, 22 janvier 2009

Pour ceux qui ont un problème d'accent vérifiez votre LocalSettings.php, la ligne $wgDBTableOptions. Si vous avez un autre paramètre d'encodage (binary ?) c'est sûrement à cause de ça. Perso j'ai : $wgDBTableOptions = "TYPE=InnoDB"; et ça fonctionne parfaitement. Pareil pour les images vérifiez $wgHashedUploadDirectory, s'il est en true vous aurez des sous dossiers dans votre répertoire d'upload de contenu, donc si votre LocalSettings est sur False il recherchera les fichiers directement sans sous dossier.

Petit conseil aussi pour ceux qui ont eu le même problème que moi lors de la réinstallation en lançant le script "config/index.php", n'oubliez pas de cliquer sur MySQL même si c'est déjà coché pour afficher de nouveaux champs (dbprefix...). J'ai bataillé 2 heures la dessus à ne pas comprendre pourquoi il me créait de nouvelles tables.

Finalement pour ne pas avoir de gros problèmes, gardez votre LocalSettings.php, à la rigueur vérifiez celui généré si vous avez des choses à reprendre.

Bonne mise à jour !

--82.237.251.214 05:21, 15 February 2009 (UTC)Reply

Finalement, problème réglé. En effet, ayant installé MediaWiki il y a quelque temps, il était installé en MySQL4 et en latin-1. J'avais importé la table pour la version 1.13 en version mal ficelée, mais j'avais gardé l'originale. Ayant rencontré le même problème lors de l'improt vers la version 1.14, je me suis replongé dans la première table. J'avais beau l'avoir convertie en UTF-8 puis sauvegardée en UTF-8, certaines tables et certaines colonnes étaient restées en latin-1. Il m'a donc fallu transformer à la main toutes les tables, puis toutes les colonnes contenant du texte en UTF-8. Ensuite nouvel export, puis là ça marche et le schéma peut passer en MySQL5. Bon courage, --Rmatt 15:51, 1 March 2009 (UTC)Reply


loopx> Bonsoir, je viens d'avoir le problème de nom de page à problème. Les accents étant remplacé par "�" alors que le contenu des pages est OK. Pour ce qui est de l'export, je n'utilise aucun paramètre particulier, c'est une BD MySQL 5 configuré en UTF8 ainsi que le système. J'ai transféré le contenu sur un autre serveur et paf, problème d'accent dans les noms. J'ai résolu mon problème en modifiant la ligne suivante dans "LocalSettings.php" :

# Experimental charset support for MySQL 4.1/5.0.
$wgDBmysql5 = true;

(il était à false, je l'ai passé à true vu que ma BD est bien une MySQL5 ...)

J'ai relancé apache et hop, problème résolu, les liens existe maintenant (bleu, avant il était rouge pour certain) et l'affichage de toutes les pages donne des noms correcte :).

Mise a jour vers 1.15.4 edit

Le wiki est sur un serveur qui ne permet pas de lancer les scripts du répertoire maintenance.

Une réinstallation est donc nécessaire. Après la réinstallation, ma base mysql est passée de 34 (V1.11.2) tables à 38.

Après l'upgrade, j'ai eu pleins de messages d'erreur a propos de la table tag_summary qui n'existait pas.

Comme j'avais tester tout ca sur un serveur virtuel, j'ai pu récupérer le nouveau schéma de la version 1.15 soit 41 tables.

J'ai réimporter le nouveau schéma avec les nouvelles tables et des 'IF NOT EXIST' et maintenant tout marche impeccablement.


erreur de mise a jour 1.16 vers 1.18 edit

Quand je met à jour la base de donnée avec l'installateur j'ai :

...have ipb_id field in ipblocks table. ...have ipb_expiry field in ipblocks table. ...already have interwiki table ...indexes seem up to 20031107 standards ...hitcounter table already exists. ...have rc_type field in recentchanges table. ...have user_real_name field in user table. ...querycache table already exists. ...objectcache table already exists. ...categorylinks table already exists. ...have pagelinks; skipping old links table updates ...il_from OK ...have rc_ip field in recentchanges table. ...PRIMARY key already set on image table. ...have rc_id field in recentchanges table. ...have rc_patrolled field in recentchanges table. ...logging table already exists. ...have user_token field in user table. ...have wl_notificationtimestamp field in watchlist table. ...watchlist talk page rows already present ...user table does not contain user_emailauthenticationtimestamp field. ...page table already exists. ...have log_params field in logging table. ...logging table has correct log_title encoding. ...have ar_rev_id field in archive table. ...have page_len field in page table. ...revision table does not contain inverse_timestamp field. ...have rev_text_id field in revision table. ...have rev_deleted field in revision table. ...have img_width field in image table. ...have img_metadata field in image table. ...have user_email_token field in user table. ...have ar_text_id field in archive table. ...page_namespace is already a full int (int(11)). ...ar_namespace is already a full int (int(11)). ...rc_namespace is already a full int (int(11)). ...wl_namespace is already a full int (int(11)). ...qc_namespace is already a full int (int(11)). ...log_namespace is already a full int (int(11)). ...have img_media_type field in image table. ...already have pagelinks table. ...image table does not contain img_type field. ...already have unique user_name index. ...user_groups table exists and is in current format. ...have ss_total_pages field in site_stats table. ...user_newtalk table already exists. ...transcache table already exists. ...have iw_trans field in interwiki table. ...trackbacks table already exists. ...wl_notificationtimestamp is already nullable. ...times key already set on logging table. ...have ipb_range_start field in ipblocks table. ...no page_random rows needed to be set ...have user_registration field in user table. ...templatelinks table already exists ...externallinks table already exists. ...job table already exists. ...have ss_images field in site_stats table. ...langlinks table already exists. ...querycache_info table already exists. ...filearchive table already exists. ...have ipb_anon_only field in ipblocks table. ...rc_ns_usertext key already set on recentchanges table. ...rc_user_text key already set on recentchanges table. ...have user_newpass_time field in user table. ...redirect table already exists. ...querycachetwo table already exists. ...have ipb_enable_autoblock field in ipblocks table. ...index pl_namespace on table pagelinks includes field pl_from ...index tl_namespace on table templatelinks includes field tl_from ...index il_to on table imagelinks includes field il_from ...have rc_old_len field in recentchanges table. ...have user_editcount field in user table. ...page_restrictions table already exists. ...have log_id field in logging table. ...have rev_parent_id field in revision table. ...have pr_id field in page_restrictions table. ...have rev_len field in revision table. ...have rc_deleted field in recentchanges table. ...have log_deleted field in logging table. ...have ar_deleted field in archive table. ...have ipb_deleted field in ipblocks table. ...have fa_deleted field in filearchive table. ...have ar_len field in archive table. ...have ipb_block_email field in ipblocks table. ...index cl_sortkey on table categorylinks includes field cl_from ...have oi_metadata field in oldimage table. ...usertext_timestamp key already set on archive table. ...img_usertext_timestamp key already set on image table. ...oi_usertext_timestamp key already set on oldimage table. ...have ar_page_id field in archive table. ...have img_sha1 field in image table. ...protected_titles table already exists. ...have ipb_by_text field in ipblocks table. ...page_props table already exists. ...updatelog table already exists. ...category table already exists. ...category table already populated. ...have ar_parent_id field in archive table. ...have user_last_timestamp field in user_newtalk table. ...rev_parent_id column already populated. ...protected_titles table has correct pt_title encoding. ...have ss_active_users field in site_stats table. ...ss_active_users user count set... ...have ipb_allow_usertalk field in ipblocks table. ...pl_namespace, tl_namespace, il_to indices are already UNIQUE. ...change_tag table already exists. ...tag_summary table already exists. ...valid_tag table already exists. ...user_properties table already exists. ...log_search table already exists. ...have log_user_text field in logging table. ...log_user_text field already populated. ...log_search table already populated. ...l10n_cache table already exists. ...external_user table already exists. ...ls_field_val key already set on log_search table. ...change_tag_rc_tag key already set on change_tag table. ...have rd_interwiki field in redirect table. ...transcache tc_time already converted. ...eu_wiki_id already renamed to eu_local_id. ...*_mime_minor fields are already long enough. ...rev_len column already populated. Creating iwlinks table... An error occured: Une requête dans la base de données comporte une erreur de syntaxe. La dernière requête émise était : « CREATE TABLE `wikidbiwlinks` ( iwl_from int unsigned NOT NULL default 0, iwl_prefix varbinary(20) NOT NULL default '', iwl_title varchar(255) binary NOT NULL default '' ) ENGINE=InnoDB, DEFAULT CHARSET=mysql4  » dans la fonction « DatabaseBase::sourceFile( /homepages/4/d150323535/htdocs/ed/maintenance/archives/patch-iwlinks.sql ) ». La base de données a renvoyé l’erreur « 1115 : Unknown character set: 'mysql4' (db1479.1and1.fr) ». Backtrace: #0 /homepages/4/d150323535/htdocs/ed/includes/db/Database.php(814): DatabaseBase->reportQueryError('Unknown charact...', 1115, 'CREATE TABLE `w...', 'DatabaseBase::s...', false) #1 /homepages/4/d150323535/htdocs/ed/includes/db/Database.php(3013): DatabaseBase->query('CREATE TABLE `w...', 'DatabaseBase::s...') #2 /homepages/4/d150323535/htdocs/ed/includes/db/Database.php(2911): DatabaseBase->sourceStream(Resource id #255, false, false, 'DatabaseBase::s...') #3 /homepages/4/d150323535/htdocs/ed/includes/installer/DatabaseUpdater.php(364): DatabaseBase->sourceFile('/homepages/4/d1...') #4 /homepages/4/d150323535/htdocs/ed/includes/installer/DatabaseUpdater.php(379): DatabaseUpdater->applyPatch('patch-iwlinks.s...', false) #5 [internal function]: DatabaseUpdater->addTable('iwlinks', 'patch-iwlinks.s...') #6 /homepages/4/d150323535/htdocs/ed/includes/installer/DatabaseUpdater.php(233): call_user_func_array(Array, Array) #7 /homepages/4/d150323535/htdocs/ed/includes/installer/DatabaseUpdater.php(197): DatabaseUpdater->runUpdates(Array, false) #8 /homepages/4/d150323535/htdocs/ed/includes/installer/DatabaseInstaller.php(248): DatabaseUpdater->doUpdates() #9 /homepages/4/d150323535/htdocs/ed/includes/installer/WebInstallerPage.php(513): DatabaseInstaller->doUpgrade() #10 /homepages/4/d150323535/htdocs/ed/includes/installer/WebInstaller.php(254): WebInstaller_Upgrade->execute() #11 /homepages/4/d150323535/htdocs/ed/mw-config/index.php(50): WebInstaller->execute(Array) #12 /homepages/4/d150323535/htdocs/ed/mw-config/index.php(18): wfInstallerMain() #13 {main}

et si je reclique sur continuer, ien ne se passe. Merci de votre aide

Return to "Upgrading/fr" page.