15 Mai 2020

Corriger l’erreur ob_end_flush sur WordPress

Début mai j’ai déplacé mon site sur un nouveau serveur avec la dernière version de PHP. En plus de cela j’ai mis à jour mon WordPress et mon Woocommerce, il est maintenant au top ! Dès que j’ai voulu importer une image dans les médias de mon WordPress, j’ai eu droit à une erreur : ob_end_flush. Suite à mes recherches, je l’ai corrigé et voici comment :

Pourquoi j’ai l’erreur ob_end_flush : failled… sur WordPress ?

Voici l’erreur exacte :

ob_end_flush(): failed to send buffer of zlib output compression (1)

Ce message apparaît quand votre thème ou bien un de vos plugins WordPress utilise la mise en mémoire tampon des données. Elles sont compressées via Zlib et c’est là que ça peut coincer.

Il est donc ensuite impossible de télécharger des fichiers vers votre site internet.

Corriger l’erreur zlib avec le function.php

Cette option est la plus recommandée sur WordPress. Nous allons modifier la fonction dans votre thème au lieu de la supprimer complètement.

Vous devez ouvrir votre function.php et intégrer ce bout de code pour corriger le problème.

/**
 * Proper ob_end_flush() for all levels
 *
 * This replaces the WordPress `wp_ob_end_flush_all()` function
 * with a replacement that doesn't cause PHP notices.
 */
remove_action( 'shutdown', 'wp_ob_end_flush_all', 1 );
add_action( 'shutdown', function() {
   while ( @ob_end_flush() );
} );

Si cela ne fonctionne pas il va falloir modifier le fichier php.ini présent de votre serveur.

Désactiver zlib dans le fichier php.ini

Vous avez testé la solution au-dessus et cela ne fonctionne pas ? Il va falloir donc modifier le fichier php.ini sur votre serveur.
Vous devez ouvrir votre fichier php.ini à la racine de votre site (ou bien au même endroit que le dossier /www).

Cherchez la ligne zlib.output_compression et placez le sur off.

zlib.output_compression = Off

Attention, j’ai pu lire que désactiver cette option peut avoir un impact sur le SEO. Cette compression permet d’envoyer au navigateur web les données de votre site en format compressé pour réduire le temps de chargement.

Vous avez besoin d’aide pour corriger votre erreur ob_end_flush ?

– Connexion à votre serveur
– Modification de votre function.php
– Test de fonctionnement

Vous pouvez acheter un ticket de support Worpress pour que j’intervienne sur votre site.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *