Configuration à l'exécution
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 -
Avertissement
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 -
Avertissement
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):- get_meta_tags()
- file_get_contents()
- file()
- fgets()
- fwrite()
- fread()
- fputcsv()
- stream_socket_recvfrom()
- exec()
- system()
- passthru()
- stream_get_contents()
- bzread()
- gzfile()
- gzgets()
- gzwrite()
- gzread()
- exif_read_data()
- dba_insert()
- dba_replace()
- dba_fetch()
- ibase_fetch_row()
- ibase_fetch_assoc()
- ibase_fetch_object()
- mssql_fetch_row()
- mssql_fetch_object()
- mssql_fetch_array()
- mssql_fetch_assoc()
- mysqli_fetch_row()
- mysqli_fetch_array()
- mysqli_fetch_assoc()
- mysqli_fetch_object()
- pg_fetch_row()
- pg_fetch_assoc()
- pg_fetch_array()
- pg_fetch_object()
- pg_fetch_all()
- pg_select()
- sybase_fetch_object()
- sybase_fetch_array()
- sybase_fetch_assoc()
- SplFileObject::fgets()
- SplFileObject::fgetcsv()
- SplFileObject::fwrite()
-
zend.enable_gc
boolean -
Active ou désactive la collecte des références circulaires.