Apache, suhosin, wordpress et WP-Table Reloaded

closeCet article a été publié il y a 6 ans 3 mois , 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é.

Une réflexion au sujet de « Apache, suhosin, wordpress et WP-Table Reloaded »

  1. Gwen

    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.

    Répondre

Laisser un commentaire

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