Description des directives internes du php.ini

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.

short_open_tag boolean

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.

asp_tags boolean
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.
precision integer
Le nombre de d�cimales significatif � afficher dans les nombres � virgule flottante.
y2k_compliance boolean
Force la conformit� avec l'an 2000 (peut �tre la cause de probl�mes avec les navigateurs non-conformes)
allow_call_time_pass_reference boolean

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.

Voir aussi l'explication sur les r�f�rences.

expose_php boolean

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.

zend.ze1_compatibility_mode boolean

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.

Voir aussi la section intitul�e Migration de PHP 4 � PHP 5.

Limite des ressources

Options de configuration
Nom Par d�faut Modifiable Historique
memory_limit "128M" PHP_INI_ALL "8M" avant PHP 5.2.0, "16M" depuis PHP 5.2.0

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

memory_limit integer

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..

Voir aussi : max_execution_time.

R�glage de Performance

R�glage de Performance
Nom Par d�faut Modifiable Historique
realpath_cache_size "16K" PHP_INI_SYSTEM Disponible depuis PHP 5.1.0.
realpath_cache_ttl "120" PHP_INI_SYSTEM Disponible depuis PHP 5.1.0.

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

realpath_cache_size entier

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.

realpath_cache_ttl entier

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.

track_vars boolean

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.

arg_separator.output string

Le s�parateur utilis� lorsque PHP g�n�re les URL pour s�parer les arguments.

arg_separator.input string

Liste des s�parateur(s) utilis�(s) par PHP pour analyser les URL entrantes et en d�duire les valeurs.

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

variables_order string

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.

request_order string

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.

auto_globals_jit boolean

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.

Les directives PHP register_globals, register_long_arrays, et register_argc_argv doivent �tre d�sactiv�es pour que cete directive soit utilisable. Depuis PHP 5.1.3, il n'est plus n�cessaire de d�sactiver register_argc_argv.

Avertissement

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.

register_globals boolean

D�finit si oui ou non les variables EGPCS (Environment, GET, POST, Cookie, Server) seront enregistr�es comme des variables globales.

Depuis » PHP 4.2.0, la valeur par d�faut de cette directive est off.

Lisez le chapitre sur la s�curit� concernant l'utilisation de register_globals pour plus d'informations.

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.

register_argc_argv boolean
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.
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�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.
post_max_size integer
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.

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 require(), 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 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.

default_mimetype string

default_charset string

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.

always_populate_raw_post_data boolean

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".

allow_webdav_methods boolean

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.

Voir aussi : magic_quotes_gpc, magic_quotes_runtime et magic_quotes_sybase.

Chemins et r�pertoires

Options de configuration
Nom Par d�faut Modifiable Historique
include_path ".;/chemin/vers/php/pear" PHP_INI_ALL  
doc_root NULL PHP_INI_SYSTEM  
user_dir NULL PHP_INI_SYSTEM  
extension_dir "/chemin/vers/php" PHP_INI_SYSTEM  
extension NULL php.ini uniquement  
cgi.check_shebang_line "1" PHP_INI_SYSTEM Disponible depuis PHP 5.2.0.
cgi.fix_pathinfo "1" PHP_INI_SYSTEM Disponible depuis PHP 4.3.0. PHP_INI_ALL dans les versions inf�rieures � PHP 5.2.1.
cgi.force_redirect "1" PHP_INI_SYSTEM Disponible depuis PHP 4.2.0. PHP_INI_ALL dans les versions inf�rieures � PHP 5.2.1.
cgi.redirect_status_env NULL PHP_INI_SYSTEM Disponible depuis PHP 4.2.0. PHP_INI_ALL dans les versions inf�rieures � PHP 5.2.1.
fastcgi.impersonate "0" PHP_INI_SYSTEM Disponible depuis PHP 4.3.0. PHP_INI_ALL dans les versions inf�rieures � PHP 5.2.1.
cgi.rfc2616_headers "0" PHP_INI_ALL Disponible depuis PHP 4.3.0.

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

include_path string

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. Cependant, il est plus efficace d'inclure explicitement un fichier avec include './file', que de demander � PHP de v�rifier le dossier courant � chaque inclusion.

doc_root string

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.

user_dir string

Le nom de base du r�pertoire utilis� dans un r�pertoire utilisateur pour les fichiers PHP, par exemple, public_html.

extension_dir string

Sp�cifie le r�pertoire dans lequel PHP doit chercher des extensions externes � charger. Voir aussi enable_dl et dl().

extension cha�ne de caract�res

Quelles extensions doivent �tre charg�es dynamiquement lors du d�marrage de PHP.

zend_extension string

Chemin absolu des extensions Zend chargeable dynamiquement (par exexemple APD) � charger lors du d�marrage de PHP.

zend_extension_debug string

Variante de zend_extension pour les extensions compil�es avec les informations de d�bogage.

zend_extension_debug_ts string

Variante de zend_extension pour les extensions compil�es avec les informations de d�bogage et la s�curit� des threads.

zend_extension_ts string

Variante de zend_extension pour les extensions compil�s avec la s�curit� des threads.

cgi.check_shebang_line bool�en

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.

cgi.fix_pathinfo bool�en

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 boolean

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.

cgi.redirect_status_env string

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.impersonate string

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.

cgi.rfc2616_headers int

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.

file_uploads boolean

Autorise ou non le chargement de fichiers par HTTP. Voir aussi les directives upload_max_filesize, upload_tmp_dir et 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..
upload_tmp_dir string

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.

upload_max_filesize integer

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.

sql.safe_mode boolean

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.