Wenn Ihr Shop Tausende von Produkten, Bestellungen oder Kunden hat, kann ein Export, der bei einem kleinen Katalog reibungslos funktioniert, bei einem größeren plötzlich ins Stocken geraten, ein Timeout verursachen oder ohne Datei enden. Das ist selten ein Fehler in Store Exporter Deluxe selbst. Es liegt fast immer daran, dass Ihr Server den für eine einzelne Anfrage erlaubten PHP-Speicher oder die Ausführungszeit überschreitet.
Quick Export teilt jeden Export bereits in Batches auf, sodass nicht der gesamte Katalog auf einmal verarbeitet wird. Dennoch kann ein ausreichend großer Shop etwas mehr PHP-Spielraum benötigen, und es ist hilfreich zu wissen, wo man suchen muss, wenn ein Export nicht abgeschlossen wird. Dieser Artikel behandelt, wie die Stapelverarbeitung funktioniert, welche PHP-Einstellungen am wichtigsten sind und wie Sie das Audit-Protokoll und die WooCommerce-Protokolle verwenden, um herauszufinden, warum ein Export gestoppt wurde.
Voraussetzungen
| Anforderung | Details |
|---|---|
| Plugin | Store Exporter Deluxe ist aktiv und lizenziert |
| WooCommerce | Aktiv, da Exporte ihre Daten aus Ihrem WooCommerce-Shop ziehen |
| Hosting-Zugang | Fähigkeit, Ihr PHP memory_limit und max_execution_time zu ändern, oder einen Host, den Sie bitten können, diese zu erhöhen |
| Administratorzugriff | Ein Konto mit Zugriff auf das WordPress-Admin-Dashboard |
Wie die Stapelverarbeitung funktioniert
Quick Export lädt niemals Ihren gesamten Katalog auf einmal in den Speicher. Stattdessen teilt es die zu exportierenden Datensätze standardmäßig in Batches von 100 auf und verarbeitet dann einen Batch pro Anfrage. Ein Export von 5.000 Produkten wird also als 50 separate Batches ausgeführt, anstatt als eine einzige riesige Abfrage, wodurch die Speichernutzung unabhängig davon, wie groß Ihr Shop wird, vorhersehbar bleibt. Der Fortschritt jedes Batches wird nach Abschluss gespeichert. Wenn Sie also einen Quick Export beobachten, zählt die Fortschrittsanzeige einen Batch nach dem anderen hoch, anstatt darauf zu warten, dass der gesamte Export abgeschlossen ist, bevor etwas angezeigt wird. Geplante Exporte funktionieren anders. Siehe unten Geplanter Export ist keine Lösung für Speicher- oder Zeitlimitfehler.
Empfohlene PHP-Einstellungen für große Exporte
Quick Export: Jeder Quick Export-Batch ist eine eigene Anfrage, und jeder Batch läuft unter dem normalen PHP memory_limit und max_execution_time Ihres Servers. Das Plugin erhöht diese Limits für einen Batch nicht, und die Einstellung Script Timeout ändert sie nicht. Für Quick Export sind daher eine kleinere Batch Size (unten) und höhere PHP-Limits auf Ihrem Host hilfreich. Wenn Exporte mit Speicherfehlern stoppen oder konsistent nach ungefähr der gleichen Zeit stoppen, bitten Sie Ihren Host, memory_limit und max_execution_time in der PHP-Konfiguration Ihres Servers zu erhöhen.
Geplante Exporte: Wenn ein geplanter Export startet, bittet Store Exporter Deluxe PHP, sein Speicherlimit auf das WP_MAX_MEMORY_LIMIT Ihrer Website zu erhöhen und wendet die Einstellung Skript-Timeout als Ausführungszeitlimit an. WordPress setzt WP_MAX_MEMORY_LIMIT standardmäßig auf 256 MB, weit über dem eigenen Minimum des Plugins von 64 MB. Viele Hoster blockieren jedoch diese Laufzeit-Überschreibungen und erzwingen ihre eigenen harten Obergrenzen, unabhängig davon, was das Plugin anfordert. Wenn ein großer geplanter Export immer noch stoppt, bitten Sie Ihren Hoster, memory_limit und max_execution_time direkt in der PHP-Konfiguration Ihres Servers zu erhöhen.
Skript-Timeout: Überprüfen Sie Einstellungen → Allgemein → Skript-Timeout vor einem großen geplanten Export. Es wird standardmäßig als Unbegrenzt ausgeliefert. Wenn es auf 10 Minuten, 30 Minuten oder 1 Stunde geändert wurde, stoppt ein geplanter Export, der länger läuft, wenn er dieses Limit erreicht. Setzen Sie es vor dem Ausführen eines großen geplanten Exports zurück auf Unbegrenzt. Diese Einstellung wirkt sich nicht auf Stapelverarbeitungen für schnelle Exporte aus.
Anpassen der Stapelgröße für sehr große Exporte
- Öffnen Sie WooCommerce → Store Export aus dem WordPress-Admin-Menü.
- Klicken Sie in der Seitenleiste auf Schneller Export.
- Wählen Sie im Schritt Exporttyp auswählen, was Sie exportieren möchten.
- Fahren Sie mit Exportfelder (und Filter & Sortierung, falls für diesen Typ vorhanden) fort, um zum Schritt Exportoptionen zu gelangen.
- Geben Sie unter Stapelverarbeitungseinstellungen eine Zahl in das Feld Stapelgröße ein. Es ist standardmäßig leer, was den integrierten Wert des Plugins von 100 Datensätzen pro Stapel verwendet.
Die Verringerung der Stapelgröße (z. B. auf 25 oder 50) macht jede einzelne Stapelanforderung speicherschonender und schneller, was auf einem Server mit niedrigem memory_limit oder max_execution_time hilft. Der Nachteil sind insgesamt mehr Stapel, sodass der vollständige Export mehr Anfragen benötigt, um abgeschlossen zu werden. Es gibt kein festes Minimum, daher lohnt es sich, einen kleineren Wert zu testen, wenn Ihre Exporte in Standardgröße die sind, die mit einem Timeout enden.

Verwendung des Audit-Logs zur Überprüfung eines großen Exports
Store Exporter Deluxe speichert eine Aufzeichnung jedes Exportlaufs in seinem Audit-Log, das über die Seitenleiste unter WooCommerce → Store Export verfügbar ist. Jeder Eintrag zeigt den Exporttyp, was ihn ausgelöst hat, seinen Status und Zeitstempel an.

Klicken Sie auf einen Eintrag, um ihn zu erweitern. Wenn der Lauf Fehlgeschlagen anzeigt, enthält die erweiterte Ansicht die Fehlermeldung.

Ein Speicher- oder Zeitlimitfehler wirkt sich anders aus. Wenn PHP der Speicher oder die Zeit ausgeht, stoppt der Export sofort, bevor das Plugin etwas aufzeichnen kann. Der Eintrag bleibt dann bei Läuft ohne Fehlermeldung. Um zu bestätigen, was passiert ist, gehen Sie zu WooCommerce → Status → Protokolle und suchen Sie nach einem Protokoll mit der Quelle fatal-errors, oder fragen Sie Ihren Hoster nach dem PHP-Fehlerprotokoll.
Das Audit-Protokoll ist standardmäßig aktiviert. Wenn es in Ihrer Seitenleiste fehlt, hat jemand den Schalter Audit-Protokoll aktivieren unter Einstellungen → Audit-Protokoll ausgeschaltet.
Derselbe Abschnitt Einstellungen → Audit-Protokoll steuert auch, wie viele Details jeder Eintrag erfasst, separat für Schnell-Exporte und Geplante Exporte. Die Standardstufe Standard zeichnet bereits Dauer auf. Wechseln Sie eine Quelle zu Detailliert, um auch die Spitzen-Speichernutzung zu erfassen.

Dies ist es wert, während Sie einen großen Export optimieren, da es Ihnen zeigt, wie nahe jeder abgeschlossene Lauf an Ihrem memory_limit war und wie lange er gedauert hat. Das zeigt Ihnen, wie viel Spielraum noch vorhanden ist, bevor ein größerer Export das Limit erreicht.

Geplanter Export ist keine Lösung für Speicher- oder Zeitlimitfehler
Ein geplanter Export verarbeitet Datensätze nicht in Stapeln, wie es ein Schnell-Export tut. Er verarbeitet den gesamten Datensatz als einen einzigen Hintergrundauftrag über Action Scheduler. Das Plugin fordert bei Beginn des Laufs mehr Speicher von PHP an und wendet Skript-Timeout an, aber wenn Ihr Hoster diese Überschreibungen blockiert, läuft der Auftrag immer noch unter den Limits Ihres Hosters. Als einzelner, nicht gestapelter Auftrag benötigt er typischerweise *mehr* Speicher als ein gestapelter Schnell-Export, nicht weniger. Es gibt kein Feld für die Stapelgröße im Formular für geplante Exporte, da es nichts zum Stapeln gibt.
Was ein geplanter Export vermeidet, ist die Abhängigkeit von der Browser-Registerkarte: Da er als Hintergrundauftrag ausgeführt wird, ist er nicht an das offene Bleiben Ihrer Browser-Registerkarte gebunden oder daran, wie lange eine Seitenanfrage in Ihrem Browser ausgeführt werden darf. Wenn ein Schnell-Export ins Stocken gerät, weil Sie die Registerkarte nicht lange genug offen halten können, löst ein geplanter Export dieses spezielle Problem. Wenn er aufgrund von Speicher- oder Ausführungszeit ins Stocken gerät, reduzieren Sie stattdessen die Stapelgröße oder erhöhen Sie Ihre PHP-Limits. Detaillierte Anweisungen finden Sie unter So planen Sie Exporte in Store Exporter Deluxe.
Fehlerbehebung
memory_limit oder max_execution_time erreicht hat. In diesem Fall bleibt der entsprechende Audit Log-Eintrag ohne Fehlermeldung auf Running stehen, da PHP stoppt, bevor das Plugin eine aufzeichnen kann. Um dies zu bestätigen, gehen Sie zu WooCommerce → Status → Protokolle und öffnen Sie das Protokoll mit der Quelle fatal-errors, oder bitten Sie Ihren Hoster um das PHP-Fehlerprotokoll. Eine Zeile, die mit „Allowed memory size of“ oder „Maximum execution time of“ beginnt, bestätigt dies. Wenn der Eintrag stattdessen Failed anzeigt, erweitern Sie ihn, um die Fehlermeldung zu lesen.Wenn es sich um einen Quick Export handelte, gehen Sie, bevor Sie es erneut versuchen, zu Einstellungen → Erweitert, suchen Sie unter Wartung nach Export-Transient löschen und klicken Sie auf Löschen. Wenn Sie diesen Schritt überspringen, zeigt der nächste Quick Export bis zu 30 Minuten lang „Ein Export läuft bereits.“ an. Verringern Sie dann die Batch-Größe und versuchen Sie es erneut. Jeder Batch läuft unter den PHP-Limits Ihres Servers. Bitten Sie Ihren Hoster daher, beide PHP-Einstellungen zu erhöhen, wenn das Problem weiterhin besteht. Wenn dies bei einem Scheduled Export auftritt, überprüfen Sie auch, ob Einstellungen → Allgemein → Skript-Timeout auf Unbegrenzt eingestellt ist.
memory_limit und max_execution_time direkt auf dem Server zu erhöhen.FAQ
memory_limit und max_execution_time Ihres Hosters abgeschlossen werden, ohne dass eine Batch-Größe als Fallback zur Verfügung steht. Ein geplanter Export kann bei einem sehr großen Katalog tatsächlich eher zu einem Timeout führen als ein schneller Export mit einer kleinen Batch-Größe.Verwandte Artikel
Benötigen Sie weitere Hilfe?
Wenn Sie Store Exporter Deluxe verwenden und ein großer Export nach dem Ausprobieren der obigen Schritte immer noch nicht abgeschlossen werden kann, eröffnen Sie ein Support-Ticket und unser Team wird Ihnen helfen, es zum Laufen zu bringen.
Wenn Sie das kostenlose Plugin Store Exporter verwenden, fragen Sie im WordPress.org-Supportforum nach und unser Team wird sich dort bei Ihnen melden.

