Gestion des données

Tableau H-4. Options de configuration

NomPar défautModifiable
track_vars"On"PHP_INI_??
arg_separator.output"&"PHP_INI_ALL
arg_separator.input"&"PHP_INI_SYSTEM|PHP_INI_PERDIR
variables_order"EGPCS"PHP_INI_ALL
register_globals"Off"PHP_INI_PERDIR|PHP_INI_SYSTEM
register_argc_argv"On"PHP_INI_PERDIR|PHP_INI_SYSTEM
register_long_arrays"On"PHP_INI_PERDIR|PHP_INI_SYSTEM
post_max_size"8M"PHP_INI_SYSTEM|PHP_INI_PERDIR
gpc_order"GPC"PHP_INI_ALL
auto_prepend_file""PHP_INI_SYSTEM|PHP_INI_PERDIR
auto_append_file""PHP_INI_SYSTEM|PHP_INI_PERDIR
default_mimetype"text/html"PHP_INI_ALL
default_charset"iso-8859-1"PHP_INI_ALL
always_populate_raw_post_data"0"PHP_INI_SYSTEM|PHP_INI_PERDIR
allow_webdav_methods"0"PHP_INI_SYSTEM|PHP_INI_PERDIR

Voici un éclaircissement sur l'utilisation des directives de configuration.

track_vars boolean

Si cette option est activée, alors les variables d'environnement, GET, POST, Cookie et Server peuvent être trouvées respectivement dans les tableaux associatifs globaux $_ENV, $_GET, $_POST, $_COOKIE et $_SERVER.

Notez que depuis PHP 4.0.3, track_vars est toujours activée.

arg_separator.output string

Le séparateur utilisé lorsque PHP génère des URLs pour séparer les arguments.

arg_separator.input string

Liste de(s) séparateur(s) utilisé(s) par PHP pour analyser les URLs entrantes et en déduire les variables.

Note : Chaque caractère de cette directive est considéré comme étant un séparateur distinct !

variables_order string

Définit l'ordre de parcours des variables EGPCS (Environnement, GET, POST, Cookie, Server). La valeur par défaut de cette directive est "EGPCS". Si vous définissez cette directive à "GP" par exemple, cela fera que PHP ignorera complètement les variables d'environnement, cookies et serveur et effacera toutes les variables passées en GET avec les variables de même noms passées en méthode POST.

Voir aussi register_globals.

register_globals boolean

Définit si oui ou non les variables EGPCS (Environment, GET, POST, Cookie, Server) seront enregistrées comme des variables globales. Par exemple, si register_globals vaut on, l'URL http://www.example.com/test.php?id=3 génèrera une variable $id. Ou, $DOCUMENT_ROOT depuis $_SERVER['DOCUMENT_ROOT']. Vous devriez désactiver cette option si vous ne voulez pas perturber vos scripts avec des variables globales venants des utilisateurs. Depuis PHP 4.2.0, cette directive est par défaut désactivée. Il est préférable d'utiliser PHP avec les variables prédéfinies à la place, comme les super globales: $_ENV, $_GET, $_POST, $_COOKIE et $_SERVER. Lisez le chapitre sur la sécurité concernant l' utilisation de register_globals pour de plus amples informations.

Notez que register_globals ne peut pas être définit durant le traitement (ini_set()). Vous pouvez utiliser .htaccess si votre hôte vous le permet comme décrit ci-dessous. Exemple d'une entrée .htaccess : php_flag register_globals on.

Note : La directive register_globals est affectée par la directive variables_order .

register_argc_argv boolean

Dit à PHP si il doit déclarer ou pas les variables argv et argc (qui contiendront les informations GET).

Voir aussi les lignes de commande. Cette directive a été introduite depuis PHP 4.0.0 et valait toujours "on" avant.

register_long_arrays boolean

Dit à PHP si oui ou non il doit enregistrer les types dépréciés $HTTP_*_VARS comme variables prédéfinies. Lorsque cette directive est activé (par défaut), les variables longues PHP comme $HTTP_GET_VARS seront définies. Si vous ne les utilisez pas, il est recommandé de désactiver cette option pour des raisons de performance. A la place, utilisez les variables tableaux super-globales comme $_GET.

Cette directive est disponible depuis PHP 5.0.0.

post_max_size integer

Définit la taille maximale des données reçues par méthode POST. Cette option affecte également les fichiers chargés. Pour charger de gros fichiers, cette valeur doit être plus grande que la valeur de upload_max_filesize.

Si la limitation de mémoire est activée par votre script de configuration, memory_limit affectera également les fichiers chargés. De façon général, memory_limit doit être plus grand que post_max_size.

Lorsqu'un entier est utilisé, sa valeur est mesuré en octets. Vous pouvez également utiliser la notation sténographique comme décrit dans cette entrée de la FAQ..

gpc_order string

Définit l'ordre de parcours des variables GET/POST/COOKIE. Par défaut, cette directive vaut "GPC". Si vous positionnez cette directive à "GP" par exemple, PHP ignorera complètement les cookies et effacera toutes les variables de la méthode GET avec les variables de la méthode POST portant le même nom.

Note : Cette option n'est pas disponible en PHP 4. Utilisez variables_order à la place.

auto_prepend_file string

Spécifie le nom d'un fichier qui sera automatiquement parcouru avant le fichier principal. Ce fichier est inclus comme s'il l'avait été avec la fonction include(), donc include_path est utilisé.

La valeur spéciale none désactive l'ajout automatique.

auto_append_file string

Spécifie le nom du fichier qui sera automatiquement parcouru après la fichier principal. Ce fichier est inclus comme s'il l'avait été avec la fonction include(), donc include_path est utilisé.

La valeur spéciale none désactive l'ajout automatique.

Note : Si le script est terminé par la fonction exit(), l'ajout automatique ne se fera pas.

default_mimetype string

default_charset string

Depuis PHP 4.0b4, PHP enverra toujours un jeux de caractères par défaut à l'en-entête HTTP Content-type: header. Pour désactiver l'envoi du jeux de caractères, définissez le tout simplement à une valeur vide.

always_populate_raw_post_data boolean

Remplit toujours la variable $HTTP_RAW_POST_DATA.

allow_webdav_methods boolean

Autorise la gestion des requête HTTP WebDav avec des scripts PHP (e.g PROPFIND, PROPPATCH, MOVE, COPY, etc.). Cette directive n'existe plus depuis PHP 4.3.2. Si vous voulez récupérer les données envoyées avec la méthode POST de ce type de requêtes, vous devez également définir always_populate_raw_post_data.

Voir aussi magic_quotes_gpc, magic_quotes_runtime et magic_quotes_sybase.