Manuel PHP
Précédent   Suivant

Chapitre 3. Configuration

Table des matières
Le fichier de configuration file

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.

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 seulement que quelques directives dans le fichier de configuration d'Apache qui vous permettent de modifier la configuration de PHP.

php_value name value

Cette directive affecte une valeur à la variable spécifiée.

php_flag name on|off

Cette directive est utilisée pour activer ou désactiver l'option précédente.

php_admin_value name 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 name on|off

Cette directive est utilisée pour activer ou désactiver l'option précédente.

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

Directives de configuration générale

auto_append_file chaine de caractères

Spécifie le nom du fichier qui est automatiquement lu après le fichier principale. Le fichier est inclus comme si il avait été appelé avec la fonction include(), donc include_path est utilisé.

Le mot réservé none désactive auto-appending.

Note: Si le script s'arrête par la fonction exit(), auto-append ne fonctionnera pas.

auto_prepend_file chaine de caractères

Spécifie le nom du fichier qui est automatiquement lu après avant le fichier principal. Le fichier est inclus comme si il avait été appelé avec la fonction include(), donc include_path est utilisé.

Le mot réservé none désactive auto-appending.

cgi_ext chaine de caractères
display_errors booléen

Cette directive détermine si les erreurs doivent être affichées à l'écran au format HTML ou non.

doc_root chaine de caractères

Fixe la valeur du répertoire racine du PHP sur le serveur. Cette directive n'est utilisée que s'il n'est pas vide. Si PHP est configuré en safe mode, aucun fichier en dehors de l'arborescence sous la racine n'est accessible.

engine booléen

Cette directive n'est utile que dans le cas de la compilation du PHP en tant que module Apache. Elle est utilisée par les sites qui veulent activer ou désactiver le parsage des fichiers suivant le répertoire ou suivant le serveur virtuel. En ajoutant php3_engine off dans le fichier httpd.conf, alors le PHP peut être activé ou désactivé au plaisir.

error_log chaine de caractères

Nom du fichier ou les erreurs doivent être logger. Si le mot réservé syslog est utilisé, les erreurs sont envoyées au logger système. Sous Unix, cela correspond à syslog(3), sous Windows NT cela correspond à "event log". Il n'y a pas de système de log sous Windows 95/98.

error_reporting valeur numérique

Définit le niveau de reporting des erreurs. Le paramètre est une valeur numérique repésentant un champs de bits. Ajoutez le niveau d'erreur que vous voulez.

Tableau 3-1. Niveau de reporting des erreurs.

Valeur du bit niveau de reporting
1 erreurs nomrales
2 warnings normals
4 erreurs de parsage
8 warning faible

La valeur par défaut pour cette directive est 7 (erreurs normales, warnings normaux, et erreurs de parsage sont notées).

open_basedir chaine de caractères

Limite les fichiers qui peuvent être ouverts avec le PHP à l'arborescence spécifié en paramètre.

Lorsqu'un script essaie d'ouvrir un fichier avec, par exemple, la fonction fopen ou gzopen, la localisation du fichier est vérifiée. Si le fichier est situé dans un répertoire à l'extérieur de l'arborescence spécifiée, PHP refuse d'ouvrir ce fichier. Tous les liens symboliques sont suivis, donc il n'est pas impossible de passer outre cette restriction.

Le mot réservé . indique que seul le répertoire contenant le script sera utilisé comme "base-directory".

Sous Windows, séparez les répertoires par des ";". Sous tous les autres système séparez les répertoires par des ":". Si vous avez compilé PHP comme module Apache, les répertoires héritent du répertoire parent la valeur de "open_basedir".

Note: Le support pour les répertoires multiples a été ajouté dans la version 3.0.7.

Par défaut, un script peut ouvrir n'importe quel fichier.

gpc_order chaine de caractères

Etablit l'ordre de préscéance des méthodes GET/POST/COOKIE. Par défaut, cette directive est établie a "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 chaine de caractères

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 chaine de caractères

Spécifie la liste des répertoires où les fonctions require(), include() and fopen_with_path() chercheront leurs fichiers. Le format est le même que les variables d'environement PATH: une liste de répertoires séparés par des ":" sous UNIX ou des ";" sous Windows.
Exemple 3-1. Include_path sous UNIX
include_path=.:/home/httpd/php-lib
Exemple 3-2. Include_path sous Windows
include_path=".;c:\www\phplib"
La valeur par défaut pour cette directive est . (Seulement le répertoire courant.

isapi_ext chaine de caractères
log_errors booléen

Cette option décrit si oui ou non il faut logger les messages d'erreur.

magic_quotes_gpc booléen

Active l'option "magic_quotes" pour les méthodes GPC (GET/POST/COOKIE) Lorsque les magic_quotes sont activées, les caractères ' (simple quote), " (double quote), \ (backslash) et NUL sont précédés automatiquement d'un backslash. Si l'option magic_quotes_sybase est activée, une simple-quote est précédée d'une autre simple-quote au lieu d'un backslash.

magic_quotes_runtime booléen

Si l'option magic_quotes_runtime est activée, la plupart des fonctions qui renvoient des datas depuis toutes sortes de sources externes, comme les bases de données ou les fichiers textes, auront leur double quotes précédées d'un backslash.

magic_quotes_sybase booléen

Si l'option magic_quotes_sybase activée, une simple-quote est précédée d'une autre simple-quote au lieu d'un backslash si l'option magic_quotes_gpc ou l'option magic_quotes_runtime est activée.

max_execution_time valeur numérique

Grâce à cette option, vous pouvez donner un temps maximum d'exécution de votre script, avant qu'il ne soit terminé par le parseur. Cela permet de ne pas avoir de script qui boucle sur votre serveur.

memory_limit valeur numérique

Grâce à cette option, vous pouvez donner une taille maximum de mémoire qu'un script peut allouer. Cela permet de ne pas avoir de script qui utilise toute la mêmoire sur votre serveur.

nsapi_ext chaine de caractères
short_open_tag booléen

Acitve ou désactive l'utilisation des tags court, (<? ?>) 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 booléen
track_errors booléen

Si cette option est activée, le dernier message d'erreur est présent dans la variable globale $php_errormsg.

track_vars booléen

Si cette option est activée, lors de l'appel des méthodes GET, POST et des cookies, les variables sont disponibles dans un tableau associatif global appelé respectivement $HTTP_GET_VARS, $HTTP_POST_VARS ou $HTTP_COOKIE_VARS.

upload_tmp_dir chaine de caractères

Correspond au répertoire utilisé lors de l'upload d'un fichier. Ce répertoire doit être accessible en lecture pour l'utilisateur qui lance le script PHP.

user_dir chaine de caractères

Répertoire où sont stockés les fichiers PHP dans le répertoire d'un utilisateur. Par exemple, public_html.

warn_plus_overloading booléen

Si cette option est activée, PHP émet un warning lorsque l'opérateur plus (+) est utilisé sur une chaine de caractères. Cela permet de trouver plus facilement les scripts qui doivent être réécrit en utilisant l'opérateur de concaténation (.) plutôt que l'opérateur plus.

Configuration des directives concernant le mail

SMTP chaine de caractères

Adresse IP ou nom que PHP doit utiliser sous Windows pour envoyer du mail avec la fonction mail() .

sendmail_from chaine de caractères

Valeur du champs "From:" qui doit être utilisée lors de l'envoie de mail sous Windows.

sendmail_path chaine de caractères

Localisation du binaire de sendmail, habituellement /usr/sbin/sendmail ou /usr/lib/sendmail configure essaye de repérer la présence de sendmail et affecte le résultat par défaut. En cas de problème, vous pouvez établir une nouvelle valeur par défaut.

Tout système n'utilisant pas sendmail doit établir cette directive à la valeur chemin du wrapper qui remplace le serveur de mail, si celui-ci existe, par exemple, Qmail. Dans ce cas la, vous devez mettre: /var/qmail/bin/sendmail.

Directives de configuration du "Safe Mode"

safe_mode booléen

Cette directives active ou désactive l'option "safe mode". Lisez le chapitre Sécurité pour plus d'informations.

safe_mode_exec_dir chaine de caractères

Si l'option "safe mode" est activée, system() et les autres fonctions exécutant des programmes systèmes refusent de se lancer si elles ne sont pas dans ce répertoire.

Directives de configuration de débbugage.

debugger.host chaine de caractères

Adresse IP ou nom de l'hôte utilisé pour le déboggage.

debugger.port chaine de caractères

Numéro du port utilisé pour le déboggage.

debugger.enabled booléen

Directives qui activent ou désactivent l'option de déboggage.

Directives de chargement des extensions

enable_dl booléen

Cette directive 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 chaine de caractères

Définit le répertoire dans lequel le PHP doit chercher les extensions lors du chargement dynamique.

extension chaine de caractères

Définit les extensions qui doivent être chargées lors du démarrage du PHP.

Directives de configuration MySQL

mysql.allow_persistent booléen

Active ou désactive les connexions persistentes à la base de données MySQL.

mysql.max_persistent valeur numérique

Nombre maximum de connexions persistantes à une base de donnée MySQL par processus.

mysql.max_links valeur numérique

Nombre de connexion maximum à une base de donnée MySQL par processus, incluant les connexions persistantes.

Directives de configuration mSQL

msql.allow_persistent booléen

Active ou désactive les connexions persistentes à la base de données mSQL.

msql.max_persistent valeur numérique

Nombre maximum de connexions persistantes à une base de donnée mSQL par processus.

msql.max_links valeur numérique

Nombre de connexions maximum à une base de donnée mSQL par processus, incluant les connexions persistantes.

Directives de configuration Postgres

pgsql.allow_persistent booléen

Active ou désactive les connexions persistentes à la base de données Postgres.

pgsql.max_persistent valeur numérique

Nombre maximum de connexions persistantes à une base de donnée Postgres par processus.

pgsql.max_links valeur numérique

Nombre de connexions maximum à une base de donnée Postgres par processus, incluant les connexions persistantes.

Directives de configuration Sybase

sybase.allow_persistent booléen

Active ou désactive les connexions persistentes à la base de données Sybase.

sybase.max_persistent valeur numérique

Nombre maximum de connexions persistantes à une base de donnée Sybase par processus.

sybase.max_links valeur numérique

Nombre de connexions maximum à une base de donnée Sybase par processus, incluant les connexions persistantes.

Directives de configuration Sybase-CT

sybct.allow_persistent booléen

Active ou désactive les connexions persistentes à la base de données Sybase-CT. Par défaut, cette option est activée.

sybct.max_persistent valeur numérique

Nombre maximum de connexions persistantes à une base de donnée Sybase-CT par processus. Par défaut, cette option est à -1, ce qui signifie nombre de connexion illimité.

sybct.max_links valeur numérique

Nombre de connexions maximum à une base de donnée Sybase-CT par processus, incluant les connexions persistantes. Par défaut, cette option est à -1, ce qui signifie nombre de connexions illimitées.

sybct.min_server_severity valeur numérique

Les messages en provenance du serveur avec une "severity" égale à sybct.min_server_severity seront considérés comme des warnings. Cette valeur peut être modifiée à l'intérieur du script en appelant la fonction sybase_min_server_severity(). Par défaut, cette valeur vaut 10.

sybct.min_client_severity valeur numérique

Les messages en provenance de la librairie client avec une "severity" égale ou supérieur à sybct.min_client_severity seront considérés comme des warnings. Cette valeur peut être modifiée à l'intérieur du script en appelant la fonction sybase_min_client_severity(). Par dêtre modifié à l'intérieur du script en appelant la fonction faut, cette valeur vaut 10, ce qui annule tout reporting d'erreur.

sybct.login_timeout valeur numérique

Temps maximum au terme duquel une tentative de connexion non aboutie renvoie une erreur. Il est à noter que si max_execution_time est dépassé avant que la connexion "timed out", votre script sera terminé avant le message d'erreur. Par défaut, cette valeur vaut 1 minute.

sybct.timeout valeur numérique

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 "timed out", votre script sera terminé avant le message d'erreur. Par défaut, il n'y a pas de limite.

sybct.hostname chaîne de caractères

Nom de l'hôte à partir duquel vous vous connectez, afin d'être affiché par la fonction sp_who. Par défaut, cette valeur égale à 0.

Directives de configuration Informix

ifx.allow_persistent booléen

Active les connexions persistantes à une basse de donnée Informix.

ifx.max_persistent valeur numérique

Nombre maximum de connexions persistantes à une basse de donnée Informix, par processus.

ifx.max_links valeur numérique

Nombre maximum de connexions à une basse de donnée Informix par processus, en incluant les connexions persistantes.

ifx.default_host chaîne de caractères

Hôte par défaut ou se connecter si auxun hôte n'est spécifié par les directives ifx_connect() ou ifx_pconnect().

ifx.default_userchaîne de caractères

User id par défaut à utiliser lorsque qu'aucun n'est spécifié par les fonctions ifx_connect() ou ifx_pconnect().

ifx.default_password chaîne de caractères

Mot de passe par défaut si aucun n'a été spécifié par la fonctions ifx_connect() ou ifx_pconnect().

ifx.blobinfile booléen

Activer cette option si vous voulez que les colonnes de type "blob" soit retournée dans un fichier, et désactivez là si vous voulez qu'elle soit retournée en mémoire. Vous pouvez modifier dynamiquement cette valeur grâce à la fonction ifx_blobinfile_mode().

ifx.textasvarchar booléen

Activer cette option si vous voulez qu'une colonne de type "TEXT" soit renvoyée comme une chaîne de caractères normale, et désactivez là si vous voulez utiliser le paramètre "blob id". Vous pouvez modifier dynamiquement cette valeur gâce à la fonction ifx_textasvarchar().

ifx.byteasvarchar booléen

Activer cette option si vous voulez qu'une colonne de type "BYTE" soit renvoyée comme une chaîne de caractères normale, et désactivez là si vous voulez utilisez le paramètre "blob id". Vous pouvez modifier dynamiquement cette valeur grâce à la fonction ifx_textasvarchar().

ifx.charasvarchar booléen

Acitvez cette option si vous voulez conserver les espaces en fin de chaîne de caractères lorsque vous faites un fetch.

ifx.nullformat booléen

Activez cette option si vous voulez que les colonnes "NULL" soit renvoyées comme une chaîne de caractères, désactivez là si vous voulez qu'elle soit renvoyée comme une chaîne de caractères vide. Vous pouvez modifier dynamiquement cette valeur en utilisant la fonction ifx_nullformat().

Directives de configuration de précision mathématique.

bcmath.scale valeur numérique

Nombre de chiffres après la virgule pour toutes les fonctions de précision mathématique.

Directives de configuration du navigateur.

browscap chaîne de caractères

Nom du fichier de "browser capabilities".

Directives de configuration du driver ODBC unifié

uodbc.default_db chaîne de caractères

"ODBC data source" à utiliser dans les fonctions odbc_connect() ou odbc_pconnect() si aucune n'est spécifiée.

uodbc.default_user chaîne de caractères

Nom d'utilisateur à utiliser dans les fonctions odbc_connect() ou odbc_pconnect() si aucun n'est spécifié.

uodbc.default_pw chaîne de caractères

Mot de passe à utiliser dans les fonctions odbc_connect() ou odbc_pconnect() si aucun n'est spécifié.

uodbc.allow_persistent booléen

Cette option permet d'activer ou de désactiver les connexions persistantes à la base de données.

uodbc.max_persistent valeur numérique

Nombre de connexion persistante authorisée à la base de données.

uodbc.max_links valeur numérique

Nombre de connexions totales (persistantes ou non) par processus à la base de données.

Précédent Sommaire Suivant
Problems? Chapitre Apache Module