Apache, suhosin, wordpress et WP-Table Reloaded

closeCet article a été publié il y a 11 ans 11 mois 12 jours, il est donc possible qu’il ne soit plus à jour. Les informations proposées sont donc peut-être expirées.

apachewordpress

Le problème

Hop, un petit aide-mémoire à propos du plugin WP-Table Reloaded pour WordPress sur un serveur avec patch suhosin.
Sur des gros tableaux, impossible de faire la moindre mise à jour en live du tableau, car le patch suhosin limite (c’est son rôle) la taille de certains formulaires, longueurs de noms de variables etc, ou alors, il tronque certains tableaux.
Seul l’import initial se passe bien. Ensuite, c’est la galère.

La solution ?

Il faut régler suhosin plus finement (et non pas le désactiver comme recommandent beaucoup de personnes pour dégager le problème vite fait mal fait).

Pour connaître précisément votre config suhosin sur un site donné, vous pouvez utiliser un appel à phpinfo() en PHP.

Ensuite, sur un site ayant des tableaux de 1500 lignes, j’ai dû, à force d’alertes suhosin dans /var/log/user.log, modifier ces valeurs dans mon VirtualHost :

php_value suhosin.post.max_array_index_length 0
php_value suhosin.get.max_array_index_length 0
php_value suhosin.request.max_array_index_length 0
php_value suhosin.post.max_vars 0
php_value suhosin.get.max_vars 0
php_value suhosin.request.max_vars 0
php_value suhosin.post.max_name_length 0
php_value suhosin.get.max_vars 0
php_value suhosin.request.max_vars 0
php_value suhosin.memory_limit 512M

C’est une première étape qui permet de voir si ça règle bien le problème. Ensuite, il faut affiner pour ne pas tolérer de l’illimité (0), mais des valeurs réalistes.
Il restait un dernier blocage à 1000 lignes, cette fois la conf de base PHP, j’ai modifié ceci puis affiné :
php_value max_input_vars 10000

Un reload Apache et le tour était joué.

One comment

  1. Merci, ça m’a aidé sur mon projet où suhosin est installé.
    J’ai dù aussi modifié la valeur « suhosin.post.max_value_length » pour que ça marche correctement.

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.