MediaWiki gebruikt een abstract op XML gebaseerd formaat voor inhouddumps. Dit is wat Special: Export genereert en ook wat wordt gebruikt voor XML-dumps van Wikipedia en andere Wikimedia-sites. Dit kan met MediaWiki worden geïmporteerd in een andere wiki via de pagina Special: Import of met mwdumper of xml2sql.
Mogelijk moet je XML-dumps één keer importeren in je Wiki. Hier zijn enkele veelgebruikte methoden voor het importeren van XML-dumps.
Stappen
- 1 Maak de nodige configuraties voordat u importeert. Special: Import is een functie in MediaWiki-software dat kan door Sysops (standaard) worden gebruikt voor importeer een klein aantal pagina's (dat wil zeggen dat alles onder de 20MB veilig moet zijn). Als u probeert grote dumps op deze manier te importeren, kan dit leiden tot time-outs of verbindingsfouten. Er zijn enkele instellingen die dit kunnen veroorzaken:
- De PHP-uploadlimiet die wordt gevonden in het PHP-configuratiebestand php.ini voorkomt dat grote bestanden naar de server worden geüpload. Pas deze regel aan om deze limiet te verhogen:
; Maximaal toegestane grootte voor geüploade bestanden. upload_max_filesize = 20M
- Er is een verborgen variabele die de grootte van het bestand in het invoerformulier zal beperken. Dit is te vinden in de MediaWiki-broncode in een genoemd bestand includes / SpecialImport.php. Dit bronbestand moet ook worden aangepast om de maximale grootte voor geüploade bestanden te vergroten.
<invoertype='verborgen' naam='MAX_FILE_SIZE' waarde='20000000' />
- Het verwerken van het geïmporteerde bestand kan langer duren dan de maximale hoeveelheid tijd die is toegestaan door php. Voeg de volgende regels toe aan php.ini om dit te verlichten:
max_execution_time = 1000 ; Maximale uitvoeringstijd van elk script, in seconden max_input_time = 2000 ; Maximale hoeveelheid tijd die elk script kan besteden aan het ontleden van verzoekgegevens default_socket_timeout = 2000 ; Standaard time-out voor op socket gebaseerde streams (seconden)
- De PHP-uploadlimiet die wordt gevonden in het PHP-configuratiebestand php.ini voorkomt dat grote bestanden naar de server worden geüpload. Pas deze regel aan om deze limiet te verhogen:
- 2 Als je shell-toegang hebt, probeer dan importDump.php te gebruiken. Hoewel dit de meest aanbevolen methode is, wordt deze traag bij het importeren van grote stortplaatsen. Als u probeert iets zo groots te importeren als Wikipedia dumpt, gebruikt u mwdumper. importDump.php is een script van de opdrachtregel in de onderhoudsmap van uw MediaWiki-installatie. Als u shell-toegang heeft, kunt u gebruiken importdump.php met deze opdracht:
php importDump.php
Vervangen.
is de naam van uw dumpbestand. Zelfs als het bestand is gecomprimeerd in de bestandsextensie .bz2 of .gz, wordt het automatisch gecomprimeerd. - 3 Probeer voor grote databasesets mwdumper. Het is een Java-toepassing die in staat is om MediaWiki XML-dumps naar SQL-dumps te lezen, te schrijven en te converteren (voor later gebruik met mysql of phpmyadmin), die vervolgens rechtstreeks in de database kunnen worden geïmporteerd. Het is veel sneller dan importDump.phphet importeert echter alleen de revisies (pagina-inhoud) en werkt de interne linktabellen dienovereenkomstig niet bij. Dit betekent dat categoriepagina's en veel speciale pagina's onvolledige of onjuiste informatie zullen tonen tenzij u deze tabellen bijwerkt.
- Vul indien beschikbaar de linktabellen in per verschillende SQL-dumps importeren van deze tabellen met behulp van de opdrachtregel client mysql rechtstreeks. Voor wiki's van Wikimedia (inclusief Wikipedia) wordt dit verstrekt samen met de XML-dumps. Anders, rennen rebuildall.php. Merk op dat deze opdracht lang duurt omdat alle pagina's moeten worden ontleed. Dit wordt niet aanbevolen voor grote gegevenssets.
- 4 Xml2sql is een andere XML naar SQL converter vergelijkbaar met mwdumper maar het is geen officiële tool en wordt niet onderhouden door MediaWiki-ontwikkelaars. Het is een ANSI C-programma met meerdere platformen en het importeren via dit kan snel zijn, maar werkt geen secundaire gegevens bij zoals linktabellen, dus u moet het uitvoeren rebuildall.php, dat dat voordeel tenietdoet.
Facebook
Twitter
Google+