Si votre boutique compte des milliers de produits, de commandes ou de clients, une exportation qui fonctionne bien sur un petit catalogue peut soudainement se bloquer, expirer ou se terminer sans aucun fichier sur un plus grand. C'est rarement une faute de Store Exporter Deluxe lui-même. C'est presque toujours votre serveur qui manque de mémoire PHP ou de temps d'exécution autorisé pour une seule requête.
Quick Export divise déjà chaque exportation en lots, donc il n'essaie pas de traiter tout votre catalogue en une seule fois. Néanmoins, une boutique suffisamment grande peut nécessiter un peu plus de marge de manœuvre PHP, et il est utile de savoir où chercher lorsqu'une exportation ne se termine pas. Cet article explique comment fonctionne le traitement par lots, quels paramètres PHP sont les plus importants, et comment utiliser le journal d'audit et les journaux WooCommerce pour découvrir pourquoi une exportation s'est arrêtée.
Prérequis
| Exigence | Détails |
|---|---|
| Plugin | Store Exporter Deluxe est actif et licencié |
| WooCommerce | Actif, car les exportations tirent leurs données de votre boutique WooCommerce |
| Accès à l'hébergement | Capacité à modifier votre memory_limit et max_execution_time PHP, ou un hôte que vous pouvez demander d'augmenter |
| Accès administrateur | Un compte avec accès au tableau de bord d'administration WordPress |
Comment fonctionne le traitement par lots
Quick Export ne charge jamais tout votre catalogue en mémoire d'un coup. Au lieu de cela, il divise les enregistrements que vous exportez en lots de 100 par défaut, puis traite un lot par requête. Ainsi, une exportation de 5 000 produits s'exécute en 50 lots distincts au lieu d'une seule requête énorme, ce qui maintient l'utilisation de la mémoire prévisible, quelle que soit la croissance de votre boutique. La progression de chaque lot est enregistrée au fur et à mesure de son achèvement, donc si vous regardez une exécution de Quick Export, la barre de progression que vous voyez augmente un lot à la fois plutôt que d'attendre la fin de l'exportation entière avant d'afficher quoi que ce soit. Les exportations planifiées fonctionnent différemment. Voir L'exportation planifiée n'est pas une solution aux erreurs de mémoire ou de limite de temps ci-dessous.
Paramètres PHP recommandés pour les grosses exportations
Quick Export : Chaque lot de Quick Export est sa propre requête, et chaque lot s'exécute sous le memory_limit et le max_execution_time PHP normaux de votre serveur. Le plugin n'augmente pas ces limites pour un lot, et le paramètre Script Timeout ne les modifie pas. Donc, pour Quick Export, les deux choses qui aident sont une Taille de lot plus petite (ci-dessous) et des limites PHP plus élevées sur votre hôte. Si les exportations s'arrêtent avec des erreurs de mémoire, ou s'arrêtent systématiquement après environ la même durée, demandez à votre hôte d'augmenter memory_limit et max_execution_time dans la configuration PHP de votre serveur.
Exports planifiés : Lorsqu'un Export planifié démarre, Store Exporter Deluxe demande à PHP d'augmenter sa limite de mémoire à WP_MAX_MEMORY_LIMIT de votre site et applique le réglage Délai d'exécution du script comme limite de temps d'exécution. WordPress définit WP_MAX_MEMORY_LIMIT à 256 Mo par défaut, bien au-dessus du minimum de 64 Mo du plugin. Cela dit, de nombreux hébergeurs bloquent ces remplacements d'exécution et appliquent leurs propres plafonds stricts, quelle que soit la demande du plugin. Si un grand Export planifié s'arrête toujours, demandez à votre hébergeur d'augmenter memory_limit et max_execution_time directement dans la configuration PHP de votre serveur.
Délai d'exécution du script : Vérifiez Réglages → Général → Délai d'exécution du script avant un grand Export planifié. Il est livré en tant que Illimité. S'il a été modifié à 10 minutes, 30 minutes ou 1 heure, un Export planifié qui dure plus longtemps s'arrête lorsqu'il atteint cette limite. Remettez-le à Illimité avant d'exécuter un grand Export planifié. Ce réglage n'affecte pas les lots d'Export rapide.
Ajustement de la taille du lot pour les très grandes exportations
- Ouvrez WooCommerce → Store Export depuis le menu d’administration WordPress.
- Cliquez sur Export rapide dans la barre latérale.
- À l'étape Sélectionner le type d'exportation, choisissez ce que vous souhaitez exporter.
- Continuez à travers Champs d'exportation (et Filtres et tri, s'il apparaît pour ce type) pour atteindre l'étape Options d'exportation.
- Sous Paramètres de lot, entrez un nombre dans le champ Taille du lot. Il est vide par défaut, ce qui utilise la valeur intégrée du plugin de 100 enregistrements par lot.
La réduction de la Taille du lot (par exemple, à 25 ou 50) rend chaque requête de lot individuelle plus légère en mémoire et plus rapide à terminer, ce qui aide sur un serveur avec une faible memory_limit ou max_execution_time. Le compromis est un plus grand nombre de lots au total, donc l'exportation complète nécessite plus de requêtes pour être terminée. Il n'y a pas de minimum fixe, il vaut donc la peine de tester une valeur plus petite si vos exportations de taille par défaut sont celles qui dépassent le délai.

Utilisation du journal d'audit pour vérifier une grande exportation
Store Exporter Deluxe conserve un enregistrement de chaque exportation dans son Journal d'audit, disponible dans la barre latérale sous WooCommerce → Exportation de magasin. Chaque entrée affiche le type d'exportation, ce qui l'a déclenchée, son statut et les horodatages.

Cliquez sur une entrée pour l'agrandir. Si l'exécution affiche Échec, la vue développée inclut le message d'erreur.

Une erreur de mémoire ou de limite de temps fonctionne différemment. Lorsque PHP manque de mémoire ou de temps, il arrête l'exportation immédiatement, avant que le plugin ne puisse enregistrer quoi que ce soit. L'entrée reste alors sur En cours sans message d'erreur. Pour confirmer ce qui s'est passé, allez dans WooCommerce → Statut → Journaux et recherchez un journal avec la source erreurs fatales, ou demandez à votre hébergeur le journal des erreurs PHP.
Le journal d'audit est activé par défaut. S'il manque dans votre barre latérale, quelqu'un a désactivé le bouton Activer le journal d'audit sous Paramètres → Journal d'audit.
La même section Paramètres → Journal d'audit contrôle également le niveau de détail de chaque entrée, défini séparément pour les Exports rapides et les Exports planifiés. Le niveau Standard par défaut enregistre déjà la Durée. Passez une source à Détaillé pour également capturer l'Utilisation maximale de la mémoire.

Cela vaut la peine d'être activé pendant que vous optimisez un grand export, car cela vous indique à quel point chaque exécution terminée s'est approchée de votre memory_limit et combien de temps elle a pris. Cela vous montre combien de marge il reste avant qu'un export plus important n'atteigne la limite.

L'exportation planifiée n'est pas une solution aux erreurs de mémoire ou de limite de temps
Une exportation planifiée ne regroupe pas les enregistrements comme le fait une exportation rapide. Elle traite l'ensemble des données comme un seul travail d'arrière-plan via Action Scheduler. Le plugin demande plus de mémoire à PHP et applique le Délai d'exécution du script au démarrage de l'exécution, mais si votre hébergeur bloque ces substitutions, le travail s'exécute toujours dans les limites de votre hébergeur. En tant que travail non groupé, il nécessite généralement *plus* de mémoire qu'une exportation rapide groupée, pas moins. Il n'y a pas de champ Taille du lot sur le formulaire d'exportation planifiée car il n'y a rien à grouper.
Ce qu'une exportation planifiée évite, c'est la dépendance à l'onglet du navigateur : comme elle s'exécute en tant que travail d'arrière-plan, elle n'est pas liée au maintien de l'onglet de votre navigateur ouvert ni à la durée pendant laquelle une requête de page dans votre navigateur est autorisée à s'exécuter. Si une exportation rapide est bloquée parce que vous ne pouvez pas garder l'onglet ouvert assez longtemps, une exportation planifiée résout ce problème spécifique. Si elle est bloquée par la mémoire ou le temps d'exécution, réduisez plutôt la Taille du lot ou augmentez vos limites PHP. Pour des instructions détaillées, voir Comment planifier des exportations dans Store Exporter Deluxe.
Dépannage
memory_limit ou max_execution_time en milieu de lot. Dans ce cas, l'entrée correspondante du Journal d'audit reste sur En cours sans message d'erreur, car PHP s'arrête avant que le plugin ne puisse en enregistrer une. Pour confirmer, allez dans WooCommerce → Statut → Journaux et ouvrez le journal avec la source fatal-errors, ou demandez à votre hébergeur le journal des erreurs PHP. Une ligne commençant par « Allowed memory size of » ou « Maximum execution time of » le confirme. Si l'entrée indique Échoué à la place, développez-la pour lire le message d'erreur.S'il s'agissait d'une exportation rapide, avant de réessayer, allez dans Paramètres → Avancé, trouvez Effacer le transient d'exportation sous Maintenance, et cliquez sur Effacer. Si vous sautez cette étape, la prochaine exportation rapide affichera « Une exportation est déjà en cours. » pendant 30 minutes maximum. Ensuite, réduisez la Taille de lot et réessayez. Chaque lot s'exécute dans les limites PHP de votre serveur, alors demandez à votre hébergeur d'augmenter les deux paramètres PHP si le problème persiste. Si cela se produit sur une exportation planifiée, vérifiez également que Paramètres → Général → Délai d'attente du script est défini sur Illimité.
memory_limit et max_execution_time sur le serveur.FAQ
memory_limit et max_execution_time de votre hébergeur, sans aucun paramètre de taille de lot sur lequel se rabattre. Une exportation planifiée peut en fait être plus susceptible d'expirer sur un catalogue très volumineux qu'une exportation rapide avec une petite taille de lot.Articles connexes
Besoin d'aide supplémentaire ?
Si vous utilisez Store Exporter Deluxe et qu'une exportation volumineuse ne se termine toujours pas après avoir essayé les étapes ci-dessus, ouvrez un ticket de support et notre équipe vous aidera à la faire fonctionner.
Si vous utilisez le plugin gratuit Store Exporter, posez votre question sur le forum de support WordPress.org et notre équipe vous répondra là-bas.

