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é

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.

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.

Autres paramètres

display_errors

Ce paramètre détermine si les messages d'erreur PHP doivent être affichés à l'écran ou non. Pour afficher les messages d'erreur, display_errors doit être réglé sur "on".

Ce paramètre est particulièrement utile pour le développement et le dépannage, mais il devrait être réglé sur "off" dans les environnements de production pour des raisons de sécurité, car il peut fournir des informations utiles aux attaquants. Depuis PHP 8.1, display_errors = Off est donc le réglage par défaut pour l'hébergement Web IONOS.

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.