Le comportement de ces fonctions est affecté par la configuration dans le fichier php.ini.
Nom | Défaut | Modifiable | Historique |
---|---|---|---|
assert.active | "1" | PHP_INI_ALL | |
assert.bail | "0" | PHP_INI_ALL | |
assert.warning | "1" | PHP_INI_ALL | |
assert.callback | NULL | PHP_INI_ALL | |
assert.quiet_eval | "0" | PHP_INI_ALL | |
enable_dl | "1" | PHP_INI_SYSTEM | Cette fonctionnalité obsolète sera certainement supprimée dans le futur. |
max_execution_time | "30" | PHP_INI_ALL | |
max_input_time | "-1" | PHP_INI_PERDIR | Disponible depuis PHP 4.3.0. |
max_input_nesting_level | "64" | PHP_INI_PERDIR | Disponible depuis PHP 4.4.8 et PHP 5.2.3. |
max_input_vars | 1000 | PHP_INI_PERDIR | Disponible depuis PHP 5.3.9. |
magic_quotes_gpc | "1" | PHP_INI_PERDIR | PHP_INI_ALL en PHP <= 4.2.3. Supprimé en PHP 5.4.0. |
magic_quotes_runtime | "0" | PHP_INI_ALL | Supprimé en PHP 5.4.0. |
zend.enable_gc | "1" | PHP_INI_ALL | Disponible depuis PHP 5.3.0. |
Voici un éclaircissement sur l'utilisation des directives de configuration.
assert.active
boolean
Active les évaluations de type assert().
assert.bail
boolean
Termine le script si une assertion échoue.
assert.warning
boolean
Émet une alerte PHP pour chaque assertion qui échoue.
assert.callback
string
Fonction définie par le programmeur, à appeler pour chaque assertion échouée.
assert.quiet_eval
boolean
Utilise la configuration courante de error_reporting() durant les évaluations d'assertions. Si activée, aucune erreur n'est affichée (error_reporting(0) implicite) durant l'évaluation. Si désactivée, les erreurs sont affichées en fonction de la configuration de error_reporting()
enable_dl
boolean
Cette directive est réellement utile lorsque PHP est compilé comme module Apache. Vous pouvez activer le chargement dynamique d'extension avec la fonction PHP dl() au cas par cas, pour chaque serveur virtuel.
La raison principale pour désactiver ce système est la sécurité. Avec le chargement dynamique, il est possible de passer outre les configurations de safe mode et open_basedir. Par défaut, le chargement dynamique est autorisé, sauf avec le safe mode. En safe mode, il est toujours impossible d'utiliser la fonction dl().
max_execution_time
entier
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. La configuration par défaut est de 30 secondes. Lorsque PHP fonctionne depuis la ligne de commande, la valeur par défaut est 0.
Le temps d'exécution maximum n'est pas affecté par des appels systèmes tels que sleep(). Reportez-vous à la fonction set_time_limit() pour plus de détails.
Vous ne pouvez pas modifier la valeur de cette directive avec ini_set() lorsque PHP est configuré en safe mode. Le seul moyen de le faire est de désactiver le safe mode ou de changer la valeur dans php.ini.
Votre serveur web peut avoir d'autres configurations de la durée limite d'exécution qui peuvent également interrompre PHP. Apache a une directive Timeout et IIS a une fonction CGI pour cela. Par défaut, elles valent toutes les deux 300 secondes. Reportez-vous à la documentation de votre serveur web pour plus de détails.
max_input_time
entier
Cette option 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ù toutes les données sont reçues du serveur jusqu'à début de l'exécution du script.
max_input_nesting_level
entier
Définit la profondeur maximale des variables d'entrées (i.e. $_GET, $_POST..)
max_input_vars
integer
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 plusieurs 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. Cette limite
ne s'applique qu'à chacun des niveaux imbriqués d'un tableau multi-dimensionnel
en entrée.
magic_quotes_gpc
boolean
Cette fonctionnalité est devenue OBSOLETE depuis PHP 5.3.0 et a été SUPPRIMEE depuis PHP 5.4.0.
Fixe le mode magic_quotes pour les opérations GPC (Get/Post/Cookie). Lorsque magic_quotes est activé, tous les caractères ' (guillemets simples), " (guillemets doubles), \ (antislash) et NUL sont échappés avec un antislash.
Note:
En PHP 4, la variable $_ENV est également échappée.
Note:
Si la directive magic_quotes_sybase est aussi activée, elle écrasera magic_quotes_gpc. Avec les deux directives activées, seuls les guillemets simples seront protégés avec un autre guillemet simple (''). Les guillemets doubles, les antislashs et les NUL ne seront pas protégés.
Voir aussi get_magic_quotes_gpc().
magic_quotes_runtime
boolean
Cette fonctionnalité est devenue OBSOLETE depuis PHP 5.3.0 et a été SUPPRIMEE depuis PHP 5.4.0.
Si magic_quotes_runtime
est activé, toutes les
fonctions qui obtiennent des données auprès d'une source
externe, y compris les bases de données et les fichiers texte,
verront leur guillemets échappés avec un antislash. Si
magic_quotes_sybase
est aussi activé, les guillemets simples seront échappés avec un autre
guillemet simple, plutôt qu'un antislash.
Fonctions affectées par magic_quotes_runtime
(n'incluent pas les fonctions depuis PECL):
zend.enable_gc
boolean
Active ou désactive la collecte des références circulaires.