- 95% des demandes d'aide de nos clients sont traités en moins de 2 heures !
- Nous sommes toujours en pleine innovation !
- Nous améliorons sans cesse la qualité de nos services !
Cette liste inclut les directives internes du php.ini que vous pouvez
définir pour personnaliser votre configuration de PHP. Les directives
gérées par les extensions sont listées et détaillées dans les pages de
documentation respectives des extensions ; les informations concernant
les directives sur les sessions par exemple, peuvent être trouvées sur
la page de documentation des sessions.
Options Httpd
Options de configuration
Nom
Par défaut
Modifiable
Historique
async_send
"0"
PHP_INI_ALL
Options du langage
Options de configuration
Nom
Par défaut
Modifiable
Historique
short_open_tag
On
PHP_INI_ALL
PHP_INI_ALL pour PHP <= 4.0.0. PHP_INI_PERDIR en PHP 5.3.0.
asp_tags
"0"
PHP_INI_PERDIR
PHP_INI_ALL pour PHP <= 4.0.0.
precision
"14"
PHP_INI_ALL
y2k_compliance
"1"
PHP_INI_ALL
allow_call_time_pass_reference
"1"
PHP_INI_PERDIR
PHP_INI_ALL pour PHP <= 4.0.0.
expose_php
"1"
php.ini uniquement
zend.ze1_compatibility_mode
"0"
PHP_INI_ALL
Disponible depuis PHP 5.0.0. Supprimé en PHP 5.3.0.
Voici un éclaircissement sur
l'utilisation des directives de configuration.
Définit si les balises courtes d'ouverture de PHP
(<? ?>
) sont autorisées ou non.
Si vous voulez utiliser PHP avec XML, vous devez désactiver
cette option de configuration pour pouvoir utiliser
<?xml ?>
. Sinon, vous pouvez l'écrire
à l'aide de PHP, par exemple : <?php echo '<?xml
version="1.0"'; ?>
. Si cette option est désactivée, vous
devez utiliser la version longue d'ouverture de balises PHP
(<?php ?>
).
Note:
Cette directive affecte également l'utilisation de
<?=
, qui est identique à
<? echo
. L'utilisation de cette écriture
nécessite que l'option short_open_tag
soit activée.
Active l'utilisation des balises ASP (<% %>)
tout en conservant les balises PHP (<?php ?>).
Cela inclut l'utilisation des balises courtes comme <%= $valeur %>.
Pour plus d'informations, lisez la page Sortir du mode HTML.
Active ou non la possibilité de forcer les arguments à être passés
par référence lors de l'appel à une fonction. Cette méthode est dépréciée
et ne sera très certainement plus supportée dans les futures versions de
PHP/Zend. Il est préférable de spécifier directement dans la déclaration
de la fonction si les arguments seront passés ou non par référence.
Nous vous encourageons à désactiver cette option et de vous assurer
que vos scripts fonctionnent correctement avec, afin d'être sûr qu'ils
fonctionneront avec les versions futures du langage (vous
devriez recevoir une alerte à chaque fois que vous utiliserez cette
fonctionnalité).
Passer les arguments par référence à l'appel de la fonction a été
abandonné pour rendre le code plus clair. Les fonctions risquaient
de modifier les arguments d'une manière aléatoire si l'argument
était passé par référence. Pour éviter cet effet, il est préférable
de spécifier le passage par référence dans le prototype de la
fonction.
Décide ou non si PHP doit être affiché comme étant installé sur le
serveur (e.g. en ajoutant sa signature dans les en-têtes du serveur web).
Ce n'est en aucun cas une menace de sécurité, mais cela
permet de déterminer si vous utilisez PHP ou non sur votre serveur.
Active le mode de compatibilité avec le Zend Engine 1 (PHP 4).
Cela affecte le clonage, le casting (les objets sans propriété sont transtipés en FALSE ou 0)
et la comparaison des objets.
Dans ce mode, les objets sont passés par valeur plutôt que par référence, par défaut.
Cette option détermine la mémoire limite, en octets, qu'un script
est autorisé à allouer. Cela permet de prévenir l'utilisation de toute
la mémoire par un script mal codé. Notez que pour n'avoir aucune limite,
vous devez définir cette directive à -1.
Avant la version 5.2.1 de PHP, pour pouvoir utiliser cette
directive, vous deviez l'activer au moment de la compilation
en utilisant l'option --enable-memory-limit
dans la ligne de configuration. Cette méthode nécessite également
de définir les fonctions memory_get_usage() et
memory_get_peak_usage().
Lorsqu'un entier est utilisé,
sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique
comme décrit dans cette
entrée de la FAQ..
Détermine la taille du cache de realpath qui sera utilisée par PHP.
Cette valeur devrait être augmentée sur les systèmes où PHP ouvre
plusieurs fichiers, pour refléter la quantité d'opérations exécutées
sur les fichiers.
Temps (en seconde) pour lequel persiste l'information du cache de
realpath pour un fichier ou un répertoire donné. Pour des systèmes
avec des fichiers qui changent peu souvent, pensez à augmenter cette
valeur.
Gestion des données
Options de configuration
Nom
Par défaut
Modifiable
Historique
track_vars
"On"
PHP_INI_??
arg_separator.output
"&"
PHP_INI_ALL
Disponible depuis PHP 4.0.5.
arg_separator.input
"&"
PHP_INI_PERDIR
Disponible depuis PHP 4.0.5.
variables_order
"EGPCS"
PHP_INI_PERDIR
PHP_INI_ALL pour PHP <= 5.0.5.
request_order
""
PHP_INI_SYSTEM|PHP_INI_PERDIR
Disponible depuis PHP 5.3.0
auto_globals_jit
"1"
PHP_INI_PERDIR
Disponible depuis PHP 5.0.0.
register_globals
"0"
PHP_INI_PERDIR
PHP_INI_ALL pour PHP <= 4.2.3.
register_argc_argv
"1"
PHP_INI_PERDIR
PHP_INI_ALL pour PHP <= 4.2.3.
register_long_arrays
"1"
PHP_INI_PERDIR
Disponible depuis PHP 5.0.0.
post_max_size
"8M"
PHP_INI_PERDIR
PHP_INI_SYSTEM pour PHP <= 4.2.3. Disponible depuis PHP 4.0.3.
gpc_order
"GPC"
PHP_INI_ALL
auto_prepend_file
NULL
PHP_INI_PERDIR
PHP_INI_ALL pour PHP <= 4.2.3.
auto_append_file
NULL
PHP_INI_PERDIR
PHP_INI_ALL pour PHP <= 4.2.3.
default_mimetype
"text/html"
PHP_INI_ALL
default_charset
""
PHP_INI_ALL
always_populate_raw_post_data
"0"
PHP_INI_PERDIR
PHP_INI_ALL pour PHP <= 4.2.3. Disponible depuis PHP 4.1.0.
allow_webdav_methods
"0"
PHP_INI_PERDIR
Voici un éclaircissement sur
l'utilisation des directives de configuration.
Si cette option est configuré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.
Définit l'ordre d'analyse des variables EGPCS (Environment,
Get, Post,
Cookie, et Server).
Par exemple, si variables_order est défini à
"SP" alors PHP créera
superglobals$_SERVER et
$_POST, maisne créera pas
$_ENV, $_GET, et
$_COOKIE. Le fait de définir cet ordre à ""
signifie qu'aucune superglobals ne sera définie.
Si la directive obsolète
register_globals est activée
(supprimée depuis PHP 6.0.0), alors variables_order configurera également l'ordre
pour les variables ENV, GET,
POST, COOKIE et
SERVER qui seront peuplées dans le contexte global.
Ainsi, par exemple, si variables_order est défini à "EGPCS",
si register_globals est actif, et que $_GET['action'] et
$_POST['action'] sont définies, alors
$action contiendra la valeur de
$_POST['action'] vu que P vient
après G dans la valeur de la directive pour cet exemple.
Avertissement
En SAPIs CGI et FastCGI, $_SERVER
est également peuplé de valeur de l'environnement ; S
est toujours équivalent à ES au regard de la position
de E autre part dans cette directive.
Note:
Le contenu et l'ordre de
$_REQUEST sont également
affectés par cette directive.
Cette directive décrit l'ordre dans lequel PHP place les variables GET, POST
et Cookie dans le tableau _REQUEST. Le placement s'effectue de la gauche
vers la droite, les valeurs les plus récentes écrasant les valeurs plus
anciennes.
Si cette directive n'est pas définie, variables_order est utilisé pour le
contenu de $_REQUEST.
Quand cette directive est activée, les variables SERVER et ENV
sont créées lorsqu'elles sont utilisées : seulement si nécessaire.
Si ces variables ne sont pas utilisées dans un script, le script
verra un gain de performances.
L'utilisation des variables SERVER et ENV est vérifiée lors de la compilation.
Ainsi, les utiliser avec, par exemple, des variables dynamiques ne
provoquera pas leur initialisation.
Notez que register_globals
ne peut pas être défini 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 off
.
Note:
La directive register_globals
est affectée par la directive variables_order .
Avertissement
Cette fonctionnalité est OBSOLETE depuis PHP 5.3.0 et a été
SUPPRIMEE depuis PHP 6.0.0. Nous vous encourageons vivement
à ne plus l'utiliser.
Dit à PHP s'il doit déclarer ou non 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.
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ée (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. À la place, utilisez les variables tableaux
super-globales comme $_GET.
Cette directive est disponible depuis PHP 5.0.0 et a été supprimée depuis
PHP 6.0.0.
Définit la taille maximale des données reçues par la 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érale,
memory_limit doit être plus grand
que post_max_size
.
Lorsqu'un entier est utilisé,
sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique
comme décrit dans cette
entrée de la FAQ..
Dans le cas où la taille des données reçues par la méthode POST est plus grande
que post_max_size
, les
superglobales$_POST et $_FILES
seront vides. Ceci peut être surveillé de différentes façons, e.g. en passant
une variable $_GET au script qui traite les données,
i.e. <form action="edit.php?processed=1">, et ainsi
vérifier si $_GET['processed'] est défini.
Note:
PHP autorise des mots clés pour les bits, incluant K (kilo), M (méga)
et G (giga). PHP effectue la conversion automatiquement si vous les utilisés.
Soyez attentif de ne pas dépasser la limite d'un entier signé sur 32 bits
(si vous utilisez les verions 32 bits), auquel cas votre script échouera.
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.
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
require(), donc include_path est utilisé.
La valeur spéciale none
désactive l'ajout automatique.
Spécifie le nom du fichier qui sera automatiquement parcouru après le
fichier principal. Ce fichier est inclus comme s'il l'avait été avec la fonction
require(), donc include_path est utilisé.
La valeur spéciale none
désactive l'ajout automatique.
Note:
Si le script se termine par la fonction exit(),
l'ajout automatique ne se fera pas.
Depuis PHP 4.0.0, PHP enverra toujours un jeux de caractères par
défaut à l'en-tête HTTP Content-type: header. Pour
désactiver l'envoi du jeu de caractères, définissez le tout simplement à
une valeur vide.
Remplit toujours la variable $HTTP_RAW_POST_DATA.
Sinon, la variable est remplie uniquement des types MIME non reconnus des données.
Cependant, la méthode préférée pour l'accès à ce type de données est php://input.
$HTTP_RAW_POST_DATA n'est pas disponible avec
enctype="multipart/form-data".
Autorise la gestion des requêtes 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.
Spécifie une liste de répertoires où les fonctions
require(), include(),
fopen(), file(),
readfile() et file_get_contents()
chercheront les fichiers. Le format est identique à la variable d'environnement
système PATH : une liste de répertoires séparés par deux
points (:) sous Unix ou par un point-virgule
(;) sous Windows.
Exemple #1 include_path sous Unix
include_path=".:/php/includes"
Exemple #2 include_path sous Windows
include_path=".;c:\php\includes"
L'utilisation d'un point (.) dans le chemin
d'inclusion vous permet de faire des inclusions relatives au
répertoire courant.
Le dossier racine de PHP sur le serveur. Uniquement utilisé si
non vide. Si PHP est configuré avec le safe mode, aucun
fichier n'est servi en dehors de ce répertoire.
Si PHP n'a pas été compilé avec FORCE_REDIRECT, vous
devez définir le doc_root si vous utilisez
PHP en tant que CGI sous n'importe quel serveur web (autre que
IIS). Alternativement, vous pouvez utiliser la configuration
cgi.force_redirect.
Contrôle si PHP CGI vérifie la ligne commençant par #! (shebang)
en haut du script exécuté. Cette ligne est nécessaire si le script
est destiné à être exécuté en mode autonome et via un PHP CGI.
PHP en mode CGI ne lit pas cette ligne et ignore son contenu si
cette directive est active.
Fournit un réel PATH_INFO/PATH_TRANSLATED
pour CGI. Le comportement précédent de PHP était de définir
PATH_TRANSLATED en SCRIPT_FILENAME et de ne pas remplir
PATH_INFO. Pour plus d'informations sur PATH_INFO, lisez les
spécificités CGI. Si définie à 1, PHP CGI fixera ce chemin
suivant les spécifications. Si définie à 0, PHP appliquera
l'ancien comportement. Par défaut, cette directive vaut 0. Vous
devriez modifier vos scripts pour utiliser SCRIPT_FILENAME à la
place de PATH_TRANSLATED.
cgi.force_redirect est nécessaire pour des raisons de sécurité
lors de l'utilisation de PHP en mode CGI sous la plupart des
serveurs web. Si vous ne la définissez pas, PHP l'activera
automatiquement par défaut. Vous pouvez la désactiver
à vos risques et périls.
Note:
Utilisateurs de Windows : Vous pouvez
désactiver cette option en toute sécurité si vous utilisez le
serveur web IIS ; en fait, vous le devez.
Pour faire fonctionner les serveurs web OmniHTTPD ou Xitami,
vous devez désactiver cette directive.
Si cgi.force_redirect est activé et que vous ne tournez pas sous
un serveur web Apache ou Netscape (iPlanet), vous
devriez avoir besoin de définir un nom de
variable d'environnement que PHP utilisera pour voir si tout
est correct pour continuer l'exécution.
Note:
La définition de cette variable peut avoir
des conséquences sur la sécurité.
Sachez ce que vous faites avant de faire
cela.
FastCGI sous IIS (sur les systèmes d'exploitation basés sur
WINNT) supporte la possibilité de déterminer la marque de
sécurité du client appelant. Cela permet à IIS de définir le
contexte de sécurité sur lequel la requête est exécuté.
mod_fastcgi sous Apache ne supporte actuellement pas cette
fonctionnalité (03/17/2002). Définie à 1 si vous utilisez IIS.
Par défaut, vaut 0.
Dit à PHP quel type d'en-tête doit être utilisé lors de l'envoi
du code réponse HTTP. Si définie à 0; PHP enverra un en-tête
Status: qui est supporté par Apache et les
autres serveurs web. Lorsque définie à -1, PHP enverra un
en-tête répondant à la spécification de la
» RFC 2616. Laissez cette valeur
à 0 à moins que vous sachiez ce que vous faites.
Chargement de fichiers
Options de configuration
Nom
Par défaut
Modifiable
Historique
file_uploads
"1"
PHP_INI_SYSTEM
PHP_INI_ALL pour PHP <= 4.2.3. Disponible depuis PHP 4.0.3.
upload_tmp_dir
NULL
PHP_INI_SYSTEM
upload_max_filesize
"2M"
PHP_INI_PERDIR
PHP_INI_ALL pour PHP <= 4.2.3.
Voici un éclaircissement sur
l'utilisation des directives de configuration.
Lorsqu'un entier est utilisé,
sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique
comme décrit dans cette
entrée de la FAQ..
Le répertoire temporaire utilisé pour stocker les fichiers lors
du chargement. L'utilisateur sous lequel fonctionne PHP doit
avoir les droits en écriture sur ce répertoire. Si non spécifié,
PHP utilisera celui par défaut du système.
La taille maximale en octets d'un fichier à charger.
Lorsqu'un entier est utilisé,
sa valeur est mesurée en octets. Vous pouvez également utiliser la notation sténographique
comme décrit dans cette
entrée de la FAQ..
SQL général
Options de configuration
Nom
Par défaut
Modifiable
Historique
sql.safe_mode
"0"
PHP_INI_SYSTEM
Voici un éclaircissement sur
l'utilisation des directives de configuration.
Si activé, les fonctions de connexion à la base de données qui spécifient
des valeurs par défaut utiliseront ces valeurs au lieu des arguments fournis.
Pour les valeurs par défaut, reportez-vous à la documentation des fonctions
de connexion pour la base de données concernée.