J'utilise Wordpress depuis de nombreuses années et j'ai environ 26 000 messages.
À un moment donné, mes identifiants de publication ont dépassé un entier 32 bits et je suis maintenant bloqué dans l'utilisation de Wordpress sur un système 64 bits.
Je vois des messages avec des ID comme 4863166253.
Je voudrais basculer mon hébergement vers un serveur de faible puissance comme un Raspberry Pi 32 bits.
Existe-t-il un moyen de réinitialiser les identifiants de publication afin qu'ils soient tous inférieurs à 2 milliards?
Vous pouvez lire mon rapport de bogue Wordpress ici
Merci.
Réponses:
Cette réponse est la façon dont je prendrais pour résoudre le problème si je devais y faire face, cela signifie que ce n'est pas la réponse mais l'une des possibilités.
Toutes les opérations que je proposerai devraient être exécutées sur un serveur de développement / local sur une sauvegarde de la base de données et non sur la production ni sur la base de données d'origine.
Si vous avez 26 000 messages mais que vous avez un identifiant comme 4 863 166 253, il y a des millions d'identifiants qui ne sont pas utilisés.
Pour résoudre ce problème, vous devez:
Étape 1
Il existe des plugins pour la portée, mais cela peut être fait à l'aide de simples requêtes SQL brutes.
Étape 2
Réinitialisez les identifiants de publication en les changeant pour recommencer à partir de 1. Cela peut être fait en utilisant une combinaison de PHP + MySQL: si vous récupérez la colonne d'identifiant de publication sous forme de tableau (par exemple via
$wpdb->get_col()
), les clés de tableau (incrémentées de 1) seraient de nouveaux identifiants de publication pour messages dont l'ID actuel est dans les valeurs du tableau.Notez que les identifiants des publications doivent être modifiés dans:
Je vous suggère d'exécuter une telle routine sur des sous-ensembles de publications utilisant des résultats paginés et non sur des milliers de lignes dans leur ensemble.
Étape 3
Définissez l'
AUTO_INCREMENT
index de la table de publication sur le nombre de publications + 1.Terminé
À la fin de ce processus, votre ID de publication supérieur devrait être facilement dans la limite de 32 bits.
Empêcher la limite de publication est à nouveau atteinte
Désactivez les révisions après publication ou limitez-les en nombre (voir Codex ).
Déplacer des articles plus anciens (2 ans? 5?) Vers un blog séparé sur un environnement multisite, par exemple
site1-archive.example.com
pour les articles danssite1.example.com
.Cela peut être fait en utilisant l'exportateur WordPress avec l'option de plage de dates.
Si vous prévoyez de le faire, il est préférable de le faire avant de réinitialiser les identifiants de publication (étape n ° 2 ci-dessus), de cette manière, les deux blogs peuvent avoir un identifiant de publication inférieur.
Bien sûr, après cela, vous devez également mettre en place un moyen de rediriger les URL de publication archivées vers de nouvelles URL.
la source