web-dev-qa-db-fra.com

Comment définir suhosin.post.max_vars dans un fichier htaccess

J'ai besoin d'ajouter ces valeurs à mon htaccess:

suhosin.request.max_vars = 8000
suhosin.post.max_vars = 8000

Si je les ajoute simplement comme ça, je reçois un Erreur interne du serveur

Quelle est la bonne façon de les inclure?

enter image description here

5
chefnelone

Le problème est qu’Apache ne sait pas quoi faire avec ces valeurs, d’où l’erreur de serveur interne. Vous devez modifier les lignes comme suit:

php_value suhosin.post.max_vars 8000
php_value suhosin.request.max_vars 8000

Le php_value fait passer le paramètre à PHP. Si vous définissiez des valeurs booléennes (true/false), vous utiliseriez plutôt php_flag. Cela ne fonctionnera que si vous exécutez PHP en tant que module Apache. Sinon, vous devez éditer le fichier php.ini, qui peut ne pas être une option.

Pour plus d'informations sur l'utilisation de php_value et php_flag, voir la page de documentation PHP correspondante: http://www.php.net/manual/fr/configuration. changes.php

Modifier:

Selon la suggestion de rhoyerboat, le prochain problème que vous rencontrez est que votre installation de PHP ne permet pas la modification des variables Suhosin Post sur une base par répertoire. Il va falloir que quelqu'un ayant accès au fichier php.ini ajoute suhosin.perdir = "p" au fichier pour que l'astuce ci-dessus .htaccess fonctionne.

8
Justin Pearce

En votant pour la dernière réponse et aussi, le problème suivant est la directive de Suhosin.

perdir est visible dans votre sortie phpinfo (), mais pas dans la documentation Suhosin. Ce site explique assez bien, http://www.mattzuba.com/2011/04/suhosins-suhosin-perdir-directive/#more-15

4
rhoyerboat

Tous les types de serveur ne permettent pas l'utilisation de php_flag et php_value. Pour ces types de serveur, vous devrez plutôt ajouter ces directives dans un fichier php.ini.

1
Ed-AITpro