Tableau 4-3. Options du langage
Nom | Valeur par défaut | Modifications |
---|---|---|
short_open_tag | On | PHP_INI_SYSTEM|PHP_INI_PERDIR |
asp_tags | Off | PHP_INI_SYSTEM|PHP_INI_PERDIR |
precision | "14" | PHP_INI_ALL |
y2k_compliance | Off | PHP_INI_ALL |
allow_call_time_pass_reference | On | PHP_INI_SYSTEM|PHP_INI_PERDIR |
expose_php | On | PHP_INI_SYSTEM |
Voici un éclaircissement sur l'utilisation des directives de configuration.
Active le support de la forme courte des balises PHP : <? ?>. Si vous voulez utiliser PHP avec du XML, vous pouvez désactiver cette option afin que vous puissiez utiliser <?xml ?>. Sinon vous pouvez l'afficher avec PHP comme ceci : <?php echo '<?xml version="1.0"'; ?>. Si cette directive est désactivée, vous devez utiliser la forme longue des balises PHP <?php ?>.
Note : Cette directive affecte aussi les raccourcis <?=, qui est l'équivalent de <? echo. Utiliser ce raccourci impose l'activation de la directive short_open_tag.
Active l'utilisation des balises de type ASP <% %>, en plus des traditionnelles balises <?php ?> . Cela inclut l'utilisation du raccourcid <%= $value %>. Pour plus d'informations, reportez-vous à inclusion dans le HTML.
Note : Le support des balises ASP a été ajouté dans la version 3.0.4.
Le nombre de chiffres significatifs à afficher avec les nombre à virgule flottante.
Active la compatibilité an 2000 (Cela posera des problèmes avec les navigateurs qui ne sont pas compatibles)
Cette directive force le passage des arguments par référence au moment de l'appel des fonctions. Cette méthode est obsolète, et il est probable qu'elle soit abandonnée dans les futures versions de PHP et Zend. La méthode qui est recommandée est d'indiquer le passage par référence dans la déclaration de la fonction. Nous vous recommandons de tenter de désactiver cette directive et d'adapter vos scripts, afin d'en garantir leur portabilité (vous verrez une alerte s'afficher à chaque fois que vous utilisez cette fonctionnalité, et les arguments seront passés par valeur plutôt quee par référence).
Voir aussi Les références.
Cette directive active ou non le fait que PHP est marqué comme installé sur le serveur web (en ajoutant sa propre signature dans les en-têtes du serveur web). Cet affichage n'est pas une menace en terme de sécurité, mais il permet de déterminer l'utilisation de PHP sur votre serveur.
Voici un éclaircissement sur l'utilisation des directives de configuration.
Cette directive fixe la quantité maximale de mémoire, exprimée en octets, qu'un script peut réserver. Cela évite que des scripts mal écrits consomment toute la mémoire sur le serveur. Afin d'utiliser cette directive, vous devez l'avoir activée au moment de la compilation. De ce fait, vous devez trouver dans la ligne de configuration l'option --enable-memory-limit. Notez que vous pouvez lui donner la valeur de -1 si vous ne souhaitez pas de limitation de consommation de mémoire.
Voir aussi max_execution_time.
Tableau 4-5. Options de gestion des données
Nom | Par défaut | Modifiable |
---|---|---|
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 |
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.
Si activé, les variables de l'environnement, GET, POST, Cookie et du serveur sont disponibles respectivement dans les tableaux associatifs $_ENV, $_GET, $_POST, $_COOKIE et $_SERVER.
Notez que depuis PHP 4.0.3, track_vars est toujours activée.
Le séparateur utilisé par PHP dans les URL générées par PHP pour séparer les arguments.
Liste de séparateur(s) utilisé par PHP pour analyser les URL d'entrées, et en déduire les variables.
Note : Chacun des caractères de cette directive est considéré comme un séparateur.
Etablit l'ordre de priorité des méthodes GET/POST/COOKIE et des valeurs issues de l'environnement et du serveur. Par défaut, cette directive est établie à "EGPCS". En affectant "GP" à cette directive, PHP ignorera les cookies, le serveur et l'environnement et écrasera toute variable issue de la méthode GET par les valeurs des variables de même nom, issues de la méthode POST.
Voir aussi register_globals.
Cette option active l'enregistrement des variables EGPCS (Environnement, GET, POST, Cookie, Serveur), en tant que variables globales. Par exemple, si register_globals = on, l'URL suivante http://www.example.com/test.php?id=3 va créer la variable $id dans votre script. Ou bien, $DOCUMENT_ROOT, issue de $_SERVER['DOCUMENT_ROOT']. Vous pouvez désactiver cette fonction si vous ne voulez pas truffer vos scripts avec des valeurs utilisateurs. Depuis PHP 4.2.0, cette directive vaut par défaut off. Il est recommandé de lire la liste des Variables prédéfinies, pour découvrir les super-globales : $_ENV, $_GET, $_POST, $_COOKIE et $_SERVER. Lisez aussi le chapitre sur la sécurité Utilisation des variables super-globales pour plus de détails.
Notez que register_globals ne peut être modifiée durant l'exécution du script (avec ini_set()). Cependant, vous pouvez utiliser le fichier .htaccess si votre hôte les supporte, comme décrit ci-dessus. Par exemple, vous pouvez inscrire dans votre fichier .htaccess : php_flag register_globals on.
Note : register_globals est combiné avec la directive variables_order.
Indique à PHP s'il doit déclarer les variables argv et argc (qui contiendront alors les mêmes informations passées par méthode GET).
Voir aussi utiliser PHP en ligne de commande. De plus, cette directive a été introduite en PHP 4.0.0 et a toujours été à "on" jusque là.
Indique à PHP s'il doit enregistrer les anciens tableaux $HTTP_*_VARS, comme variables prédéfinies. Lorsque cette option est activée (par défaut), les anciens tableaux tels que $HTTP_GET_VARS seront définis. Si vous ne les utilisez pas, il est recommandé de les désactiver, pour des raisons de performances. A la place, utilisez les super globales, telles que $_GET.
Cette directive a été introduite avec PHP 5.0.0.
Configure la taille maximale de données par méthode POST. Cette configuration affecte aussi le téléchargement de fichiers. Pour autoriser l'upload de grands fichiers, il faut que cette configuration soit plus grande encore, et plus grande que upload_max_filesize.
Si la limitation de mémoire est activée dans votre script de configuration memory_limit va aussi affecter le téléchargement de fichiers. En général, memory_limit doit être plus grand que post_max_size.
Cette directive est obsolète. Voyez plutôt variables_order.
Spécifie le nom d'un fichier qui sera automatiquement ajouté après le fichier principal. Le fichier est inclus comme s'il avait été appelé avec la fonction include(), donc include_path est utilisé.
Le mot réservé none désactive l'auto-appending.
Note : Si le script s'arrête par la fonction exit(), auto-append ne fonctionnera pas.
Spécifie le nom d'un fichier qui sera automatiquement ajouté avant le fichier principal. Le fichier est inclus comme s'il avait été appelé avec la fonction include(), donc include_path est utilisé.
Le mot réservé none désactive l'auto-appending.
Depuis la version 4.0b4, PHP fournit toujours une indication du jeu de caractères pour les fichiers générés, dans l'en-tête HTTP Content-type. Pour désactiver l'envoi de cette indication, laissez cette directive vide.
Force le remplissage de la variable $HTTP_RAW_POST_DATA.
Cette directive autorise la gestion de requêtes HTTP WebDAV par PHP : PROPFIND, PROPPATCH, MOVE, COPY, etc... Si vous voulez les données postées par ces requêtes, vous devez aussi activer always_populate_raw_post_data.
Voir aussi magic_quotes_gpc, magic-quotes-runtime et magic_quotes_sybase.
Tableau 4-6. Options de dossiers
Nom | Par défaut | Modifiable |
---|---|---|
include_path | PHP_INCLUDE_PATH | PHP_INI_ALL |
doc_root | PHP_INCLUDE_PATH | PHP_INI_SYSTEM |
user_dir | NULL | PHP_INI_SYSTEM |
extension_dir | PHP_EXTENSION_DIR | PHP_INI_SYSTEM |
cgi.force_redirect | "1" | PHP_INI_SYSTEM |
cgi.redirect_status_env | "" | PHP_INI_SYSTEM |
fastcgi.impersonate | "0" | PHP_INI_SYSTEM |
Voici un éclaircissement sur l'utilisation des directives de configuration.
Spécifie une liste de dossiers, où les fonctions require(), include() et fopen_with_path() iront chercher les fichiers. Le format est le même que celui de la variable d'environnement PATH : une liste de dossiers, séparés par des deux points (:) sous UNIX, et par des points virgules (;) sous Windows.
Utiliser un point (.) dans l'include_path permet de réaliser des inclusions relatives au dossier courant.
Le dossier racine de PHP. Cette directive n'est utilisée que si elle est définie. Si PHP est configuré en safe mode, aucun fichier en dehors de ce dossier ne sera accessible. Si PHP n'a pas été compilé avec l'option FORCE_REDIRECT, vous DEVRIEZ utiliser cette option, si vous exécutez PHP en tant que CGI avec serveur web autre que IIS. La solution alternative est d'utiliser la directive cgi.force_redirect ci-dessous.
Répertoire où sont stockés les fichiers PHP dans le répertoire d'un utilisateur. Par exemple, public_html.
Définit le répertoire dans lequel le PHP doit chercher les extensions lors du chargement dynamique. Voir aussi enable_dl et dl().
Définit les extensions qui doivent être chargées lors du démarrage du PHP.
cgi.force_redirect est nécesssaire pour assurer la sécurité de PHP, lorsqu'il fonctionne en tant que CGI pour la plupart des serveurs web. Même si laissé vide, PHP va activer cette option par défaut. Vous pouvez la désactiver à vos risques et périls.
Note : Utilisateurs Windows : vous pouvez désactiver cette option sans problème avec IIS et en fait, vous DEVEZ la désactiver. Pour faire fonctionner OmniHTTPD ou Xitami, vous devrez aussi la désactiver.
Si la directive cgi.force_redirect est activée, et que vous ne fonctionnez pas sous Apache ou Netscape (iPlanet), vous POURRIEZ devoir allouer une variable d'environnement que PHP ira rechercher pour s'assurer qu'il peut continuer son exécution.
Note : Allouer cette variable PEUT causer des problèmes de sécurité, RENSEIGNEZ VOUS AVANT DE LE FAIRE.
Indique à PHP quel type d'en-tête utiliser lorsqu'il envoie les en-têtes de réponse HTTP. Si cette option vaut 0, PHP envoie un en-tête Status: qui est supporté par Apache et d'autres serveurs web. Lorsque cette option vaut 1, PHP va envoyer des en-têtes compatibles RFC 2616. Laissez le à 0 si vous ne savez pas de quoi il s'agit.
FastCGI sous IIS (sur Windows NT) supporte la possibilité de traiter les tokens de sécurité du client. Cela permet à IIS de définir le contexte de sécurité à utiliser. mod_fastcgi sous Apache ne supporte pas encore cette fonctionnalité (17/03/2002). Utilisez la valeur de 1 pour l'activer sous IIS. La valeur par défaut est zéro.
Tableau 4-7. Options de configuration pour le chargement de fichiers
Nom | Par défaut | Modifiable |
---|---|---|
file_uploads | "1" | PHP_INI_SYSTEM |
upload_tmp_dir | NULL | PHP_INI_SYSTEM |
upload_max_filesize | "2M" | PHP_INI_SYSTEM|PHP_INI_PERDIR |
Voici un éclaircissement sur l'utilisation des directives de configuration.
Cette directive indique si les chargements de fichiers sont supportés sur le serveur. Voir aussi upload_max_filesize, upload_tmp_dir et post_max_size.
Indique le répertoire utilisé lors du chargement d'un fichier sur le serveur. Ce répertoire doit être accessible en lecture pour l'utilisateur qui exécute le script PHP, ou par le serveur web.
La taille maximale d'un fichier chargé sur le serveur. La valeur est en octets. Par défaut, elle est de 2 méga-octets.
Voici un éclaircissement sur l'utilisation des directives de configuration.
Précédent | Sommaire | Suivant |
Comment modfier la configuration | Niveau supérieur | Référence |