Sommaire
Configuration
Le fichier de configuration
|
3.3.1 Le fichier de configuration
Le fichier de configuration (appelé php3.ini
dans la version 3.0 du PHP, et simplement php.ini
dans la version 4.0) est lu par le PHP au démarrage. Si vous
avez compilé PHP en module, le fichier n'est lu qu'une seule
fois, au lancement du démon HTTP. Pour la version
CGI le fichier est lu à chaque invocation.
Extrait du php.ini |
; tout texte sur une ligne, situé après un point-virgule ";" est ignoré [php] ; les marqueur de section (texte entre crochets) sont aussi ignorés ; Les valeurs booléenne peuvent être spécifiées comme ceci : ; true, on, yes ; ou false, off, no, none register_globals = off magic_quotes_gpc = yes ; vous pouvez placer les chaînes de caractères entre guillemets include_path = ".:/usr/local/lib/php" ; Les anti-slash sont traités comme n'importe quel caractère include_path = ".;c:\php\lib"
|
Lorsque vous utilisez le module Apache, vous pouvez aussi changer
les paramètres de configurations en utilisant les directives
dans les fichiers de configuration d'Apache et dans les fichiers
.htaccess
.
Dans la version 3.0, à chaque directive de configuration
présente dans le fichier de configuration d'Apache correspond
une directive de configuration dans le fichier
php3.ini
, à l'exception des directives
préfixées par "php3_".
Dans la version 4.0, il n'y a que quelques directives
dans le fichier de configuration d'Apache qui vous permettent de
modifier la configuration de PHP.
php_value
Cette directive affecte une valeur à la variable
spécifiée.
php_flag
Cette directive est utilisée pour activer ou
désactiver une option.
php_admin_value
Cette directive affecte une valeur à la variable
spécifiée. La directive "Admin" ne peut être
utilisée que dans le fichier de configuration d'Apache, et
non dans un fichier .htaccess
.
php_admin_flag
Cette directive est utilisée pour activer ou désactiver l'option
précédente.
Exemple de configuration Apache |
<IfModule mod_php4.c> php_value include_path ".:/usr/local/lib/php" php_flag safe_mode on </IfModule> <IfModule mod_php3.c> php3_include_path ".:/usr/local/lib/php" php3_safe_mode on </IfModule>
|
Vous pouvez voir l'état de votre configuration en utilisant
la fonction phpinfo. Vous pouvez aussi
accéder aux valeurs de votre configuration de manière
individuelle en utilisant la fonction get_cfg_var.
3.3.1.1 Directives de configuration générale
- allow_url_fopen
Cette option autorise les accès au réseau des fonctions
fopen. Par défaut, l'accès est
autorisé aux procédures
d'accès distants,
avec les protocoles FTP, NNTP,
et certaines extensions telles ques zlib.
Note |
Cette option a été introduite immédiatement
après la version 4.0.3. Pour les versions jusqu'à
4.0.3 incluse, vous pouvez désactiver cette
fonctionnalité au moment de la compilation en utilisant
la configuration
--disable-url-fopen-wrapper.
|
- asp_tags
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.
|
- auto_append_file
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 .
|
- auto_prepend_file
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.
- cgi_ext
(NDT : aucune documentation n'est fournie).
- display_errors
Cette directive détermine si les erreurs doivent être
affichées à l'écran au format HTML ou non.
- doc_root
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.
- engine
Cette directive ne sert vraiment que si PHP est un module Apache.
Elle sert aux sites qui veulent activer ou désactiver l'analyse des fichiers
par PHP, dossier par dossier. En mettant php3_engine off
au bon endroit, dans le fichier httpd.conf
, PHP peut être
activé ou désactivé.
- error_log
Nom du fichier où les erreurs seront enregistrées. Si la valeur
spéciale syslog est utilisée, les
erreurs sont envoyées au système standard d'historique.
Sous UNIX, c'est syslog(3) et sous Windows NT, c'est
l'historique d'événements. L'historique système
n'est pas supporté sous Windows 95.
- error_reporting
Fixe le niveau d'erreur. Ce paramètre est un entier, représentant un
champs de bits. Ajoutez les valeurs suivantes pour choisir le niveau
que vous désirez :
Niveau de rapport d'erreur
valeur du bit |
niveau choisi |
1 |
erreurs normales |
2 |
alertes normales |
4 |
erreurs d'analyseur (parser errors) |
8 |
alertes non critiques |
Par défaut, la valeur est de 7 (erreurs normales, alertes normales
et erreurs d'analyseur sont affichées).
- open_basedir
Limite l'espace où PHP peut ouvrir des fichiers.
Lorsqu'un script essaie d'ouvrir un fichier avec les fonctions
fopen ou gzopen (par exemple), la localisation du fichier est vérifiée.
Si ce fichier est hors du dossier cité dans cette directive, PHP refusera
de l'ouvrir. Tous les liens symboliques sont résolus, et subissent aussi
la restriction.
La valeur spéciale .
indique que le dossier courant du script est utilisé comme open_basedir.
Sous Windows, séparez les noms de dossiers par un point virgule (;).
Sur les autres systèmes, séparez les noms de dossiers par des deux points (:).
Lorsque PHP est un module Apache, la valeur de la directive open_basedir
des dossiers parents est automatiquement héritée par les fils.
Note |
Le support pour les dossiers multiples a été ajouté dans 3.0.7.
|
La valeur par défaut est : libre accès à tous les fichiers.
- gpc_order
Etablit l'ordre de préséance des méthodes GET/POST/COOKIE.
Par défaut, cette directive est établie à "GPC". En affectant "GP" à
cette directive, PHP ignorera les cookies, et écrasera toute méthode
GET utilisée par une méthode POST avec des variables du même nom.
- ignore_user_abort
Désactivée par défaut. Si cette directive est activée, alors tous les scripts
lancés iront jusqu'à leur terme, même si le client se déconnecte en plein
milieu. Voir aussi la fonction ignore_user_abort.
- include_path
Spécifie une liste de dossiers, où les fonctions require,
include et fopen_with_path() (NDtraducteur : cette fonction
semble avoir disparu) 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.
UNIX include_path |
include_path=.:/home/httpd/php-lib
| Windows include_path |
include_path=".;c:\www\phplib"
|
La valeur par défaut pour cette directive est .,
c'est-à-dire le dossier courant.
- isapi_ext
(Aucune documentation n'est fournie)
- log_errors
Indique où les messages d'erreur générés doivent
être écrits. Cette fonction est spécifique aux serveurs.
- magic_quotes_gpc
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. Si magic_quotes_sybase
fonctionne aussi, les guillemets simples seront échappés
avec un autre guillemet simple, plutôt qu'un antislash.
- magic_quotes_runtime
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.
- magic_quotes_sybase
Si magic_quotes_sybase est activé, les guillemets
simples seront échappés avec un autre guillemet simple, plutôt
qu'un antislash, si magic_quotes_gpc ou
magic_quotes_runtime est activé.
- max_execution_time
Fixe le temps maximal d'éxécution d'un script, en secondes. Cela permet
d'éviter que des scripts en boucles infinies saturent le serveur.
- memory_limit
Grâce à cette option, vous pouvez donner la quantité
maximale de mémoire qu'un script peut allouer. Ceci permet
de se prevenir contre des scripts mal codés pouvant consommer toute
la mémoire disponible d'un serveur
- nsapi_ext
Aucune documentation n'est fournie.
- register_globals
Cette option active l'enregistrement des variables EGPCS
(Environnement, GET, POST, Cookie, Serveur), en tant que
variables globales. Vous pouvez désactiver cette fonction
si vous ne voulez pas truffer vos scripts avec des
valeurs utilisateurs. Cette option est surtout utile lorsqu'elle
est utilisée conjointement avec track_vars - dans ce cas,
vous pouvez accéder à toutes les variables EGPCS grâce aux tableaux
$HTTP_ENV_VARS,
$HTTP_GET_VARS,
$HTTP_POST_VARS,
$HTTP_COOKIE_VARS, et
$HTTP_SERVER_VARS.
- short_open_tag
Active ou désactive l'utilisation des balises courtes,
( <? ?> ). Si vous voulez utiliser PHP et XML en même
temps, vous devez désactiver cette option. Si cette option est
désactivée, vous devez utiliser la forme longue des tags,
(<?php ?> ).
- sql.safe_mode
Aucune documentation n'est fournie.
- track_errors
Si cette option est activée, le dernier message d'erreur sera placé dans la
variable globale $php_errormsg.
- track_vars
Si cette option est activée, lors de l'appel des méthodes GET, POST et
l'utilisation des cookies, les variables sont disponibles dans des tableaux
associatifs globaux appelés respectivement $HTTP_GET_VARS,
$HTTP_POST_VARS et $HTTP_COOKIE_VARS.
- upload_tmp_dir
Indique le répertoire utilisé lors du chargement d'un fichier sur un
serveur. Ce répertoire doit être accessible en lecture pour
l'utilisateur qui lance le script PHP.
- upload_max_filesize
La taille maximale d'un fichier téléchargé sur le serveur. La valeur
doit être en octets. Par défaut, elle est de 2 méga-octets.
in bytes.
- user_dir
Répertoire où sont stockés les fichiers PHP dans le
répertoire d'un utilisateur. Par exemple, public_html.
- warn_plus_overloading
Si cette option est activée, PHP émet une alerte lorsque
l'opérateur plus (+) est utilisé sur une
chaîne de caractères. Cela permet de réperer plus
facilement les scripts qui doivent être réécrits en
utilisant l'opérateur de concaténation (.)
plutôt que l'opérateur plus.
3.3.1.2 Directives de configuration concernant le mail
- SMTP
Sous Windows, adresse IP ou nom que PHP doit utiliser pour envoyer
du mail avec la fonction mail.
- sendmail_from
Sous Windows, valeur du champs "From:" qui doit être utilisée lors
de l'envoi de mail.
- sendmail_path
Localisation du programme de sendmail : habituellement
/usr/sbin/sendmail
ou /usr/lib/sendmail
.
configure essaye de repérer la présence de sendmail
par lui-même, et affecte ce résultat par défaut. En cas de
problème de localisation, vous pouvez établir une nouvelle valeur
par défaut ici.
Tout système n'utilisant pas sendmail doit établir cette
directive à la valeur chemin du programme de substitution qui remplace le
serveur de mail, si celui-ci existe, par exemple,
Qmail.
Dans ce cas là, vous devez mettre: /var/qmail/bin/sendmail
.
3.3.1.3 Directives de configuration du "Safe Mode"
- safe_mode
Cette directive active ou désactive l'option "safe mode".
Lisez le chapitre sécurité pour plus
d'informations.
- safe_mode_exec_dir
Si l'option "SAFE MODE" est activée, system et les
autres fonctions exécutant des programmes systèmes refusent de se lancer
si ces programmes ne sont pas placés dans ce répertoire.
3.3.1.4 Directives de configuration de débugage.
- debugger.host
Adresse IP ou nom de l'hôte utilisé pour le débugage.
- debugger.port
Numéro du port utilisé pour le débugage.
- debugger.enabled
Activation ou désactivation du débugueur.
3.3.1.5 Directives de chargement des extensions
- enable_dl
Cette directive n'est réellement utile que dans le cas d'une compilation
comme module Apache. Vous pouvez activer le chargement dynamique des
extensions avec la fonction dl, et cela de manière
locale à chaque serveur virtuel ou à chaque répertoire.
La principale raison qui pousse à désactiver le chargement
dynamique est un problème de sécurité. Lorsque le
chargement dynamique est activé, il est possible d'ignorer les
directives safe mode
ou "open_basedir".
Par défaut, il est possible d'utiliser le chargement dynamique, sauf
lorsque la directive safe mode est
activée. En effet, il est alors impossible d'utiliser la fonction
dl.
- extension_dir
Définit le répertoire dans lequel le PHP doit chercher les extensions lors
du chargement dynamique.
- extension
Définit les extensions qui doivent être chargées lors du
démarrage du PHP.
3.3.1.6 Directives de configuration MySQL
- mysql.allow_persistent
Active ou désactive les connexions persistantes à la base de
données MySQL.
- mysql.default_host
Adresse par défaut du serveur, à utiliser lors de la connexion à
un serveur MySQL, si aucun hôte n'est spécifié.
- mysql.default_user
Utilisateur par défaut, à utiliser lors de la connexion à un serveur
MySQL, si aucun utilisateur n'est spécifié.
- mysql.default_password
Mot de passe par défaut, à utiliser lors de la connexion à un serveur
MySQL, si aucun mot de passe n'est spécifié.
- mysql.default_port
Le numéro de port TCP par défaut, utilisé pour se connecter
à la base de données, lorsqu'aucun port n'est spécifié. Si aucun
port par défaut est spécifié, le port sera alors obtenu en
lisant la variable d'environnement MYSQL_TCP_PORT,
l'entrée mysql-tcp dans le fichier
/etc/services
ou encore la constante
de compilation MYSQL_PORT, dans cet order. Win32
n'utilisera aussi que la constante MYSQL_PORT.
- mysql.default_socket
Le nom par défaut de la socket lorsque l'on se conecte
au serveur local, si aucune autre socket n'est spécifiée.
- mysql.max_persistent
Nombre maximum de connexions persistantes à une base de données MySQL,
par processus.
- mysql.max_links
Nombre de connexions maximum à une base de données MySQL,
par processus, incluant les connexions persistantes
3.3.1.7 Directives de configuration mSQL
- msql.allow_persistent
Active ou désactive les connexions persistantes à la base de données mSQL.
- msql.max_persistent
Nombre maximum de connexions persistantes à une base de données mSQL,
par processus.
- msql.max_links
Nombre maximum de connexions à une base de données mSQL,
par processus, incluant les connexions persistantes.
3.3.1.8 Directives de configuration Postgres
- pgsql.allow_persistent
Active ou désactive les connexions persistantes à la base de
données Postgres.
- pgsql.max_persistent
Nombre maximum de connexions persistantes à une base de données
Postgres, par processus.
- pgsql.max_links
Nombre maximal de connexions à une base de données Postgres,
par processus, incluant les connexions persistantes.
3.3.1.9 Directives de configuration SESAM
- sesam_oml
Nom de la librairieBS2000 PLAM contenant les pilotes de connexion SESAM.
Obligatoire pour les fonctions SESAM. La librairie BS2000 PLAM
doit être configurée avec ACCESS=READ,SHARE=YES,
car elle doit être accessible à l'utilisateur Apache.
- sesam_configfile
Nom du fichier de configuration de l'application SESAM.
Obligatoire pour les fonctions SESAM. Le fichier
BS2000 doit être accessible être accessible à l'utilisateur Apache.
Le fichier de configuration de l'application va contenir la configuration
sur le schéma suivant (voir le manuel SESAM) :
- sesam_messagecatalog
Nom du catalogue de messages SESAM. Dans la plupart des
cas, cette directive n'est pas nécessaire. Seulement, si
le fichier de messages SESAM n'est pas installé dans la
table de messages BS2000, il faut indiquer sa localisation avec
cette directive.
Le catalogue de messages doit être paramétré avec
ACCESS=READ,SHARE=YES, car il doit être
accessible à l'utilisateur Apache.
3.3.1.10 Directives de configuration Sybase
- sybase.allow_persistent
Active ou désactive les connexions persistantes à
la base de données Sybase.
- sybase.max_persistent
Nombre maximum de connexions persistantes à
une base de données Sybase par processus.
- sybase.max_links
Nombre maximum de connexions à une base de données Sybase, par processus,
incluant les connexions persistantes.
3.3.1.11 Directives de configuration Sybase-CT
- sybct.allow_persistent
Active ou désactive les connexions persistantes à la base de données
Sybase-CT. Par défaut, cette option est activée.
- sybct.max_persistent
Nombre maximum de connexions persistantes à une base de données Sybase-CT par
processus. Par défaut, cette option est à -1, ce qui signifie que le nombre de
connexion est illimité.
- sybct.max_links
Nombre maximum de connexions à une base de données Sybase-CT, par processus,
incluant les connexions persistantes. Par défaut, cette option est à -1,
ce qui signifie que le nombre de connexions est illimité.
- sybct.min_server_severity
Les messages en provenance du serveur d'un niveau d'erreur égal à
sybct.min_server_severity seront considérés comme des alertes (warnings).
Cette valeur peut être modifiée à l'intérieur du script en appelant la fonction
sybase_min_server_severity (NDtraducteur : cette fonction semble ne pas exister).
Par défaut, cette valeur vaut 10.
- sybct.min_client_severity
Les messages en provenance de la librairie client avec un niveau d'erreur égal
ou supérieur à sybct.min_client_severity seront considérés comme des alertes.
Cette valeur peut être modifiée à l'intérieur du script en appelant la
fonction sybase_min_client_severity (NDtraducteur : cette fonction semble ne pas exister).
Par défaut, cette valeur vaut 10, ce qui annule tout rapport d'erreur.
- sybct.login_timeout
Délai de validité d'une tentative de connexion. Il est à
noter que si max_execution_time est dépassé avant que la connexion
n'expire, le script sera terminé avant le message d'erreur.
Par défaut, cette valeur vaut 1 minute.
- sybct.timeout
Temps maximum en secondes avant qu'une tentative de requête "select_db" ou
"query" non aboutie renvoie une erreur. Il est à noter que si
max_execution_time est dépassé avant que la requête
n'expire, votre script sera terminé avant le message d'erreur.
Par défaut, il n'y a pas de limite.
- sybct.hostname
Nom de l'hôte à partir duquel vous vous connectez, afin d'être affiché par
la fonction sp_who (NDtraducteur : cette fonction semble ne pas exister).
Par défaut, cette valeur égale à 0.
3.3.1.12 Directives de configuration Informix
- ifx.allow_persistent
Active les connexions persistantes à une base de données Informix.
- ifx.max_persistent
Nombre maximum de connexions persistantes à une base de données Informix,
par processus.
- ifx.max_links
Nombre maximum de connexions à une base de données Informix par processus,
en incluant les connexions persistantes.
- ifx.default_host
Hôte par défaut où se connecter si aucun hôte n'est spécifié par les
fonctions ifx_connect ou ifx_pconnect.
- ifx.default_user
Utilisateur par défaut si aucun utilisateur n'est spécifié par les fonctions
ifx_connect ou ifx_pconnect.
- ifx.default_password
Mot de passe par défaut si aucun mot de passe n'est spécifié par les fonctions
ifx_connect ou ifx_pconnect.
- ifx.blobinfile
Lorsque cette option est activée, les colonnes de type "blob" seront retournées
dans un fichier. Par défaut, elles seront retournées en mémoire. Il est possible
de modifier dynamiquement cette valeur grâce à la fonction
ifx_blobinfile_mode.
- ifx.textasvarchar
Lorsque cette option est activée, les colonnes de type "TEXT" seront retournées
dans une chaîne de caractères. Par défaut, elles seront retournées en mémoire. Il est possible
de modifier dynamiquement cette valeur grâce à la fonction
ifx_textasvarchar.
- ifx.byteasvarchar
Lorsque cette option est activée, les colonnes de type "BYTE"
seront retournées dans une chaîne de caractères. Par
défaut, elles seront retournées en mémoire.
Il est possible de modifier dynamiquement cette valeur grâce
à la fonction ifx_textasvarchar.
- ifx.charasvarchar
Lorsque cette option est activée, les espaces en fin de
chaîne de caractères seront conservés lors d'une
commande FETCH.
- ifx.nullformat
Lorsque cette option est activée, les colonnes de valeur NULL
seront retournées comme des chaînes de caractères
vides. Il est possible de modifier dynamiquement cette valeur
grâce à la fonction ifx_nullformat.
3.3.1.13
Directives de configuration pour les calculs mathématiques.
- bcmath.scale
Nombre de chiffres après la virgule pour toutes les fonctions de
précision mathématique arbitraire.
3.3.1.14 Directives de configuration du navigateur.
- browscap
Nom du fichier de descriptif des clients HTML.
Voir aussi get_browser.
3.3.1.15 Directives de configuration du pilote ODBC unifié
- uodbc.default_db
Source de données ODBC à utiliser par défaut avec les fonctions
odbc_connect ou odbc_pconnect.
- uodbc.default_user
Nom d'utilisateur défaut avec les fonctions odbc_connect ou
odbc_pconnect.
- uodbc.default_pw
Mot de passe par défaut dans les fonctions odbc_connect ou
odbc_pconnect.
- uodbc.allow_persistent
Cette option active ou désactive les connexions persistantes à la base de
données, via le canal ODBC.
- uodbc.max_persistent
Nombre maximum de connexions persistantes autorisées à la base de données.
- uodbc.max_links
Nombre maximum de connexions (persistantes ou non), par processus,
à la base de données.
3.3.1.16 Directives de configuration des chaînes mulit-octets
- mbstring.internal_encoding
mbstring.internal_encoding définit l'encodage
interne par défaut.
- mbstring.http_input
mbstring.http_input définit l'encodage
de reception HTTP par défaut.
- mbstring.http_output
mbstring.http_output définit l'encodage
d'affichage HTTP par défaut.
- mbstring.detect_order
mbstring.detect_order définit l'ordre de
détection des encodages par défaut.
- mbstring.substitute_character
mbstring.substitute_character définit l'encodage
de substitution par défaut : il est utilisé pour les caractères invalides.
|