Quels paramètres PHP puis-je modifier ?

Il est possible, via un certain fichier appelé php.ini, de modifier des paramètres de l'environnement PHP. Nous vous avons rassemblé dans cet article les directives les plus souvent utilisées pour personnaliser votre environnement PHP.

Directives liées à la sécurité

register globals = On

Remarque : Ce paramètre a été supprimé dans PHP 5.4.

Augmente la sécurité des scripts PHP lorsque cette directive est DÉSACTIVÉE car la désactivation empêche que certaines variables puissent être modifiées de manière involontaire.

 

allow_url_fopen = On

Définit si l'accès à des fichiers sur des URLs externes est permis ou non. Le fait d'interdire cet accès permet d'augmenter la sécurité car il devient très complexe pour les éventuels détraqueurs de faire interférer des fihciers malveillants avec vos scripts.

display_errors = Off

Même si les messages d'erreur sont très pratiques pour trouver les origines des éventuelles erreurs dans vos scripts, cette fonctionalité peut avoir comme incovénient de révéler des informations privées à des personnes malveillantes. Pour cette raison, il est recommandé de la désactiver.

disable_functions

Permet de définir une liste de fonctions à désactiver. Cette directive n'est pas souvent utilisée dans les logiciels PHP mais elle l'est souvent par les détraqueurs.
Exemple : disable_functions = exec,system,passthru,shell_exec, popen,escapeshellcmd,proc_open, proc_open, proc_nice,ini_restore

safe_mode = On

En activant le "safe-mode", PHP va fonctionner en mode sécurisé. Cela signifie que les opérations sur les fichiers vont être contrôlées et que les accès aux variables d'environnement vont être restreints.

Limites des scripts

Remarque : Les valeurs limites de la mémoire de travail (RAM) sont données ci-dessous dans la notation php.ini-typique. Par exemple, une valeur de 256M limite la mémoire disponible à 256 mégaoctets (Mo).

memory_limit = 256M

Définit la valeur maximale de mémoire qu'un script est autorisé à consommer. Cette valeur est donnée en Mo.
ATTENTION : Quelle que soit la valeur saisie via cette directive, la limite de mémoire propre à votre version de PHP prévaut : des valeurs plus élevées sont donc ignorées par le serveur Web.

post_max_size = 64M

Définit la taille maximale des données qui peuvent être reçues par la méthode POST. Cette directive affecte également les fichiers chargés. Pour charger de gros fichiers, cette valeur doit être plus grande que la valeur de upload_max_filesize. De façon générale, memory_limit doit être plus grand que post_max_size.

upload_max_filesize = 64M

Définit la taille maximale que peuvent avoir les fichiers qui sont chargés par formulaire.

max_execution_time = 60

Fixe le temps maximal d'exécution d'un script, en secondes. Cela permet d'éviter que des scripts en boucles infinies saturent le serveur.
ATTENTION : Indépendamment de la valeur saisie dans cette directive, la valeur globale memory-limit propre à votre version de PHP prévaut. Des valeurs plus élevées sont donc ignorées par le serveur Web.

Directives particulières du php.ini

zlib.output_compression = désactivé

Comprime les fichiers PHP au format gzip

session.auto_start = off

Spécifie si le module de session doit démarrer automatiquement au début de chaque script PHP. Par défaut, c'est 0 (désactivé).

max_input_vars = 5000

Définit le nombre de variables d'entrée pouvant être acceptées (cette limite est appliquée aux variables superglobales $_GET, $_POST et $_COOKIE, séparément). L'utilisation de cette directive permet de limiter les possibilités d'attaque par déni de service utilisant des collisions de hashages. S'il y a plus de variables en entrée que le nombre spécifié par cette directive, une alerte de type E_WARNING sera émise, et les variables en trop seront supprimées de la requête.

max_input_time = -1

Spécifie la durée maximale pour analyser les données d'entrée, via POST et GET. Cette durée est mesurée depuis le moment où PHP est invoqué sur le serveur jusqu'au début de l'exécution du script.