Importieren Sie eine Wordpress-XML-Datei, die größer als 8 MB ist

7

Ich versuche, eine XML-Datei (aus einem früheren WordPress-Thema) in ein neues WordPress-Thema zu importieren. Das Problem ist, dass die XML-Datei 46 MB viel größer ist als das WordPress-Limit von 8 MB. Hat jemand Ratschläge / Empfehlungen zum Importieren dieser Datei?

Vielen Dank

apagey

apagey
quelle
Wenn Sie über einen Befehlszeilenzugriff verfügen, können Sie WP_CLI ausprobieren.
Welcher

Antworten:

10

OPTION 1: Wenn eine WordPress WXR-Datei, eine aus WordPress exportierte XML-Datei, zu groß zum Importieren ist, können Sie versuchen, diese Grenze zu überwinden.

  • Erhöhen Sie den Speicherbedarf eines PHP-Skripts. Hinweis: Wenn Sie einen gemeinsam genutzten Hosting-Dienst verwenden, müssen Sie möglicherweise Ihren Host bitten, das Limit zu erhöhen.

    Erhöhen Sie die Einstellung für das Speicherlimit in php.ini (z. B. memory_limit = 64M;). Viele Hosts erlauben dies möglicherweise nicht.

    Erhöhen Sie das Speicherlimit über .htaccess (z. B. php_value memory_limit 64M). Viele Hosts erlauben dies möglicherweise nicht.

    Erhöhen Sie das Speicherlimit über wp-config.php (zB define ('WP_MEMORY_LIMIT', '64MB');)

  • Erhöhen Sie die maximale Zeit, die ein PHP-Skript ausgeführt wird. Hinweis: Wenn Sie einen gemeinsam genutzten Hosting-Dienst verwenden, müssen Sie möglicherweise Ihren Host bitten, das Limit zu erhöhen.

    Erhöhen Sie die maximale Ausführungszeit in php.ini (zB max_execution_time = 600;). Viele Hosts erlauben dies möglicherweise nicht.

  • Erhöhen Sie die Größeneinstellungen für PHP-Upload-Dateien. Hinweis: Wenn Sie einen gemeinsam genutzten Hosting-Dienst verwenden, müssen Sie möglicherweise Ihren Host bitten, das Limit zu erhöhen.

    Erhöhen Sie die Einstellungswerte in php.ini (z. B. upload_max_filesize = 64M; und post_max_size = 64M;). Viele Hosts erlauben dies möglicherweise nicht.

    Erhöhen Sie die Einstellwerte über .htaccess (z. B. php_value upload_max_filesize 64M und php_value post_max_size = 64M). Viele Hosts erlauben dies möglicherweise nicht.

    Erhöhen Sie die Einstellwerte über die Zeilen ini_set in wp-config.php. Sprechen Sie mit Ihrem Gastgeber, um die richtigen Werte zu erhalten.

  • Erhöhen Sie die Größenbeschränkung für das Hochladen von Dateien und / oder die Speicherplatzbeschränkung für das Hochladen von Dateien:

    Melden Sie sich als Administrator bei wp-admin an.

    Klicken Sie im Navigationsfeld Site Admin auf "Optionen".

    Scrollen Sie nach unten und ändern Sie die Einstellungen für "Maximale Upload-Dateigröße" und / oder "Blog-Upload-Speicherplatz".

  • GZip die Datei. Bei einigen Hosting-Diensten kann eine komprimierte Datei automatisch im Hintergrund erweitert werden, ohne dass WordPress den Unterschied bemerkt. Auf diese Weise können Sie die Datei so klein machen, dass sie den maximalen Einschränkungen für die Upload-Größe entspricht.

    Verwenden Sie unter Windows 7Zip, um ein gz-Archiv aus der wxr-Datei zu erstellen.

    Verwenden Sie unter Linux die Befehlszeile gzip.

    Stellen Sie vor dem Hochladen sicher, dass die resultierende Datei die Dateierweiterung ".gz" hat, da dies häufig erforderlich ist.

    Dies funktioniert garantiert nicht, da dies stark von der Hosting-Konfiguration abhängt. Wenn dies fehlschlägt, versuchen Sie stattdessen eine andere Methode.

  • Teilen Sie die WordPress WXR-Datei in kleinere Teile auf, indem Sie die Daten zwischen den Posts trennen und die Kopf- / Fußzeile in jede Datei einfügen .

Sichern Sie wie immer vor dem Importieren der neuen XML-Dateien die Datenbank des Blogs, in das Sie die XML-Dateien importieren, und exportieren Sie die XML-Datei dieses Blogs auch.

Zu Ihrer Information, diese Informationen sind im Codex verfügbar .

OPTION 2: Es ist definitiv robuster und wahrscheinlich einfacher, das (kostenpflichtige) WP Migrate DB Pro- Plugin zu verwenden. Trotz des Namens werden mit einem Add-On auch Mediendateien importiert. Ich bin persönlich auf Situationen gestoßen, in denen keine der oben genannten Methoden funktioniert hat - die einzige Lösung bestand darin, dieses Plugin zu verwenden.

Gaia
quelle
Die bestätigte GZip-Lösung hat bei mir hervorragend funktioniert. Eine 25-MB-Datei wurde zu einer 2-MB-Datei, und WordPress verstand es perfekt.
Tobiah Zarlez
GZip Import-Lösung hat für mich funktioniert, aber Medien werden nicht hochgeladen
iamkingsleyf
6

Wenn Sie Zugriff auf die .htaccess-Datei in Ihrem www-Ordner haben. Fügen Sie einfach die folgenden 2 Zeilen in .htaccess ein:

php_value upload_max_filesize 50M
php_value post_max_size 50M

Auf andere Weise können Sie diesen Code in die Datei functions.php Ihres Themas einfügen

@ini_set( 'upload_max_size' , '50M' );
@ini_set( 'post_max_size', '50M');
Codepixlabs
quelle
1
.. Vorübergehend. Sobald Sie den Import abgeschlossen haben, sollten Sie wahrscheinlich die Standardmaxima wiederherstellen.
Ich habe keinen Zugriff auf die .htaccess-Datei. Der zweite Vorschlag scheint erreichbar zu sein. Sollte es irgendwo in der Datei functions.php platziert werden?
yap versuchen Sie es und sagen Sie, ob es geholfen hat.
Codepixlabs
Leider @ini_set ('upload_max_size', '50M'); @ini_set ('post_max_size', '50M'); funktioniert nicht, es wird ein Serverfehler zurückgegeben. Irgendwelche anderen Vorschläge? Sicher ist jemand schon einmal darauf gestoßen.
Haben Sie Zugriff auf die Datei php.ini?
Codepixlabs
2

Gemäß dem Kodex sollten Sie in der Lage sein, die XML-Datei in Teile zu teilen und diese separat zu importieren. Hier ist, wie ich es machen würde.

Die WordPress-XML-Exportdatei hat ein Format, das sie WordPress eXtended RSS (WXR) nennen, und sieht folgendermaßen aus (einige Zeilen wurden weggelassen):

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0"
>

<channel>
    <!-- several tags about your blog, including title, link, description, etc. -->

    <wp:author><!-- a list of your post authors here --></wp:author>

    <wp:category><!-- a list of your categories --></wp:category>
    <wp:tag><!-- first tag info --></wp:tag>
    <wp:tag><!-- second tag info, etc. --></wp:tag>

    <generator>http://wordpress.org/?v=3.6</generator>

    <item>
        <!-- first blog post here -->
    </item>

    <item>
        <!-- second blog post here, etc. -->
    </item>
</channel>

Sie müssen dies in mindestens 6 verschiedene Dateien aufteilen, um unter Ihrem 8-MB-Limit zu bleiben. Kopieren Sie die Datei, bis Sie 6 oder 7 Kopien der Datei haben. Entfernen Sie dann in jeder Kopie einige der <item>Elemente (Beiträge), bis Sie unter 8 MB sind. Daher enthält jede Datei im ersten Teil der Datei identische Informationen und unterscheidet sich nur im <item>Abschnitt. Stellen Sie sicher, dass Sie nicht denselben Beitrag in mehr als eine Datei aufnehmen, da er sonst zweimal importiert wird. Importieren Sie dann jede Datei einzeln.

Ben Miller - Erinnere dich an Monica
quelle
1

Sie können eine Anwendung herunterladen, um große XML / WXR-Dateien in kleinere Dateien aufzuteilen

Oder Sie können die Upload- und Post-Limits in Ihrer php.ini-Datei in cPanel ändern.

Brad Dalton
quelle
1

Dies ist die Lösung ..... hoffe, Sie werden es genießen

Sie können diese Einstellung ändern, indem Sie eine einfache Textdatei erstellen und in den wp-adminOrdner legen .

Um diese Datei zu erstellen, müssen Sie lediglich ein einfaches Textprogramm wie textedit auf einem Mac oder einen Editor unter Windows öffnen und diese beiden Codezeilen eingeben.

upload_max_filesize = 64M;
post_max_size = 32M;

Sie können einen beliebigen Wert eingeben. Ich habe nur 64 und 32 ausgewählt, weil sie wie gute Zahlen aussahen. Jetzt speichern Sie einfach die Datei und benennen sie. php.iniDas Programm fragt Sie, ob Sie die .iniErweiterung verwenden möchten. Klicken Sie auf Verwenden .iniund Speichern. Jetzt müssen Sie nur noch die Datei auf Ihren Server hochladen und im wp-adminOrdner " " ablegen. Eine beliebige Stelle im Stammbereich des Ordners ist in Ordnung.

Melden Sie sich jetzt in Ihrem WordPress-Kontrollfeld an und versuchen Sie, etwas Großes hochzuladen. Es sollte Ihnen keine Probleme bereiten und hochladen, was Sie wollen!

Laghriss
quelle
1

Alles was Sie brauchen ist dieses Plugin

Erhöhen Sie die maximale Upload-Dateigröße

Laden Sie es herunter und installieren Sie es von wordpress.org

Geben Sie den Wert (bis zu 250 MB) in Byte ein und genießen Sie.

Wenn Sie jedoch eine große Datei hochladen, müssen Sie möglicherweise das Memory Bump-Plugin installiert haben oder die Ausführungszeit manuell verlängern

ceocoutry.com
quelle
Bitte bearbeiten Sie Ihre Frage , um einen Link zu dem von Ihnen vorgeschlagenen Plugin bereitzustellen. Beachten Sie auch, dass dieses Plugin nicht funktioniert, wenn Ihr Hosting-Anbieter es Ihnen nicht erlaubt, die upload_max_filesize(und möglicherweise memory_limit) PHP- Werte zu erhöhen .
Pat J
Hier ist der Link, aber Sie können auch einfach in Ihrem Abschnitt Plugins
hinzufügen
1

Wenn es Ihnen zur Verfügung steht, bietet WP-CLI einen Importbefehl an, der unbestreitbar der beste Weg ist, große WXR-Dateien zu importieren. Es bietet auch einen Exportbefehl , mit dem Sie WXR-Dateien exportieren und in die von Ihnen angegebene Dateigröße aufteilen können.

Matthew Boynes
quelle
0

Ich habe diese Methode von Gaia ausprobiert und es hat dank Gia kein Problem geklappt

GZip die Datei. Bei einigen Hosting-Diensten kann eine komprimierte Datei automatisch im Hintergrund erweitert werden, ohne dass WordPress den Unterschied bemerkt. Auf diese Weise können Sie die Datei so klein machen, dass sie den maximalen Einschränkungen für die Upload-Größe entspricht.

Verwenden Sie unter Windows 7Zip, um ein gz-Archiv aus der wxr-Datei zu erstellen.

Verwenden Sie unter Linux die Befehlszeile gzip.

Stellen Sie vor dem Hochladen sicher, dass die resultierende Datei die Dateierweiterung ".gz" hat, da dies häufig erforderlich ist.

Dies funktioniert garantiert nicht, da dies stark von der Hosting-Konfiguration abhängt. Wenn dies fehlschlägt, versuchen Sie stattdessen eine andere Methode.

• Teilen Sie die WordPress WXR-Datei in kleinere Teile, indem Sie die Daten zwischen den Posts trennen und die Kopf- / Fußzeile in jede Datei einfügen.

Bogle
quelle
0

Ich habe immer festgestellt, dass der einfachste Weg darin besteht, die Datei user.ini im Stammverzeichnis der WP-Installation zu bearbeiten oder eine hinzuzufügen.

Plugins wie WordFence und andere, die mit Systemeinstellungen arbeiten müssen, tun dies häufig, da sie mit WordPress und mehreren Systemen gut funktionieren.

Bearbeiten oder erstellen Sie eine user.ini-Datei im WP-Stammverzeichnis, kopieren Sie den folgenden Code, fügen Sie ihn ein und speichern Sie ihn. Wenn Sie Caching verwenden, leeren Sie diese und aktualisieren Sie die Seite, auf die Sie hochladen.

In meiner WP-Installation ist der Speicher auf 64 MB eingestellt und ich habe die Dateigröße auf 5 MB begrenzt. Ändern Sie beide upload_max_filesizeund post_max_sizein etwas Größeres als die Datei, die Sie hochladen.

; Memory and file sizes
memory_limit = 64M
upload_max_filesize = 5M
post_max_size = 5M
file_uploads = On
max_execution_time = 300
; End Upload Restrictions
TechDex
quelle
0

Ich habe versucht, wpcliwie es Kommandozeile ist, viele Dinge werden auch am Ende behandelt.

Meine XML-Dateigröße betrug ca. 10 MB.

In wp-config.php

set_time_limit( 86400 );
define('WP_CACHE', false);
define('WP_MEMORY_LIMIT', '1G');
define('WP_MAX_MEMORY_LIMIT', '1G');

Beispiel für wpcli

$ wp import example.wordpress.2016-06-21.xml --authors=skip
inrsaurabh
quelle