Configuration du fichier PHP.INI

Le fichier de configuration PHP, php.ini, est le moyen final et le plus immédiat d'affecter les fonctionnalités de PHP. Le fichier php.ini est lu à chaque fois que PHP est initialisé, c'est-à-dire à chaque redémarrage de httpd pour la version du module ou à chaque exécution de script pour la version CGI. Si votre modification n'apparaît pas, n'oubliez pas d'arrêter et de redémarrer httpd. S'il n'apparaît toujours pas, utilisez phpinfo () pour vérifier le chemin vers php.ini.

Le fichier de configuration est bien commenté et complet. Les clés sont sensibles à la casse, les valeurs des mots clés ne le sont pas; les espaces et les lignes commençant par des points-virgules sont ignorés. Les booléens peuvent être représentés par 1/0, Oui / Non, Activé / Désactivé ou Vrai / Faux. Les valeurs par défaut dans php.ini-dist résulteront en une installation PHP raisonnable qui pourra être modifiée plus tard.

Ici, nous expliquons les paramètres importants de php.ini dont vous pourriez avoir besoin pour votre analyseur PHP.

short_open_tag = Désactivé

Les balises ouvertes courtes ressemblent à ceci: <? ?>. Cette option doit être définie sur Désactivé si vous souhaitez utiliser des fonctions XML.

safe_mode = Désactivé

Si ce paramètre est défini sur On, vous avez probablement compilé PHP avec l'indicateur --enable-safe-mode. Le mode sans échec est le plus pertinent pour l'utilisation de CGI. Voir l'explication dans la section "Options de compilation CGI". plus tôt dans ce chapitre.

safe_mode_exec_dir = [DIR]

Cette option n'est pertinente que si le mode sans échec est activé; il peut également être défini avec l'indicateur --with-exec-dir pendant le processus de construction d'Unix. PHP en mode sans échec n'exécute que les binaires externes à partir de ce répertoire. La valeur par défaut est / usr / local / bin. Cela n'a rien à voir avec la diffusion d'une page Web PHP / HTML normale.

safe_mode_allowed_env_vars = [PHP_]

Cette option définit les variables d'environnement que les utilisateurs peuvent modifier en mode sans échec. La valeur par défaut est uniquement les variables précédées de "PHP_". Si cette directive est vide, la plupart des variables sont modifiables.

safe_mode_protected_env_vars = [LD_LIBRARY_PATH]

Cette option définit les variables d'environnement que les utilisateurs ne peuvent pas modifier en mode sans échec, même si safe_mode_allowed_env_vars est défini de manière permissive

disable_functions = [fonction1, fonction2 ...]

Un ajout bienvenu à la configuration PHP4 et perpétué dans PHP5 est la possibilité de désactiver des fonctions sélectionnées pour des raisons de sécurité. Auparavant, cela nécessitait de modifier manuellement le code C à partir duquel PHP était créé. Les fonctions du système de fichiers, du système et du réseau devraient probablement être les premières à être utilisées, car autoriser la capacité d'écrire des fichiers et de modifier le système via HTTP n'est jamais une idée aussi sûre.

max_execution_time = 30

La fonction set_time_limit () won.t fonctionne en mode sans échec, c'est donc le principal moyen de faire expirer un script en mode sans échec. Sous Windows, vous devez abandonner en fonction de la mémoire maximale consommée plutôt que du temps. Vous pouvez également utiliser le paramètre de délai d'attente Apache pour expirer si vous utilisez Apache, mais cela s'appliquera également aux fichiers non PHP sur le site.

error_reporting = E_ALL & ~ E_NOTICE

La valeur par défaut est E_ALL & ~ E_NOTICE, toutes les erreurs sauf les avis. Les serveurs de développement doivent être définis au moins sur la valeur par défaut; seuls les serveurs de production devraient même envisager une valeur moindre

error_prepend_string = [" "]

Avec son serre-livre, error_append_string, ce paramètre vous permet de donner aux messages d'erreur une couleur différente de celle d'un autre texte, ou quoi que vous ayez.

warn_plus_overloading = Désactivé

Ce paramètre émet un avertissement si l'opérateur + est utilisé avec des chaînes, comme dans une valeur de formulaire.

variables_order = EGPCS

Ce paramètre de configuration remplace gpc_order. Les deux sont désormais obsolètes avec register_globals. Il définit l'ordre des différentes variables: Environnement, GET, POST, COOKIE et SERVER (aka Built-in). Vous pouvez changer cet ordre. Les variables seront écrasées successivement dans l'ordre de gauche à droite, la plus à droite remportant la main à chaque fois. Cela signifie que si vous avez laissé le paramètre par défaut et que vous utilisiez le même nom pour une variable d'environnement, une variable POST et une variable COOKIE, la variable COOKIE posséderait ce nom à la fin du processus. Dans la vraie vie, cela n'arrive pas beaucoup.

register_globals = Désactivé

Ce paramètre vous permet de décider si vous souhaitez enregistrer les variables EGPCS comme globales. Ceci est maintenant obsolète et à partir de PHP4.2, cet indicateur est défini sur Off par défaut. Utilisez à la place des tableaux superglobaux. Toutes les principales listes de codes de ce livre utilisent des tableaux superglobaux.

gpc_order = GPC

Ce paramètre est obsolète par GPC.

magic_quotes_gpc = Activé

Ce paramètre échappe les guillemets dans les données GET / POST / COOKIE entrantes. Si vous utilisez un grand nombre de formulaires qui se soumettent éventuellement à eux-mêmes ou à d'autres formulaires et affichent des valeurs de formulaire, vous devrez peut-être définir cette directive sur Activé ou vous préparer à utiliser Addlashes () sur des données de type chaîne.

magic_quotes_runtime = Désactivé

Ce paramètre échappe les guillemets dans la base de données entrante et les chaînes de texte. N'oubliez pas que SQL ajoute des barres obliques aux guillemets simples et aux apostrophes lors du stockage des chaînes et ne les supprime pas lors de leur renvoi. Si ce paramètre est désactivé, vous devrez utiliser Stripslashes () lors de la sortie de tout type de données de chaîne à partir d'une base de données SQL. Si magic_quotes_sybase est défini sur On, cela doit être Off.

magic_quotes_sybase = Désactivé

Ce paramètre échappe les guillemets simples dans la base de données entrante et les chaînes de texte avec des guillemets simples de style Sybase plutôt que des barres obliques inverses. Si magic_quotes_runtime est défini sur On, ce doit être Off.

auto-prepend-file = [chemin / vers / fichier]

Si un chemin est spécifié ici, PHP doit l'inclure automatiquement () au début de chaque fichier PHP. Inclure les restrictions de chemin s'appliquent.

auto-append-file = [chemin / vers / fichier]

Si un chemin est spécifié ici, PHP doit automatiquement l'inclure () à la fin de chaque fichier PHP, sauf si vous vous échappez en utilisant la fonction exit (). Inclure les restrictions de chemin s'appliquent.

include_path = [DIR]

Si vous définissez cette valeur, vous ne serez autorisé à inclure ou à exiger que des fichiers de ces répertoires. Le répertoire include se trouve généralement sous la racine de votre document; ceci est obligatoire si vous exécutez en mode sans échec. Réglez ceci sur. afin d'inclure les fichiers du même répertoire dans lequel se trouve votre script. Plusieurs répertoires sont séparés par des deux-points:.: / usr / local / apache / htdocs: / usr / local / lib.

doc_root = [DIR]

Si vous utilisez Apache, vous avez déjà défini une racine de document pour ce serveur ou hôte virtuel dans httpd.conf. Définissez cette valeur ici si vous utilisez le mode sans échec ou si vous souhaitez activer PHP uniquement sur une partie de votre site (par exemple, uniquement dans un sous-répertoire de votre racine Web).

file_uploads = [activé / désactivé]

Activez cet indicateur si vous souhaitez télécharger des fichiers à l'aide d'un script PHP.

upload_tmp_dir = [DIR]

Ne supprimez pas les commentaires de cette ligne à moins de comprendre les implications des téléchargements HTTP!

session.save-handler = fichiers

Sauf dans de rares circonstances, vous ne souhaiterez pas modifier ce paramètre. Alors n'y touchez pas.

ignore_user_abort = [Activé / Désactivé]

Ce paramètre contrôle ce qui se passe si un visiteur du site clique sur le bouton Arrêter du navigateur. La valeur par défaut est On, ce qui signifie que le script continue de s'exécuter jusqu'à la fin ou jusqu'à l'expiration du délai. Si le paramètre est modifié sur Off, le script sera abandonné. Ce paramètre ne fonctionne qu'en mode module, pas CGI.

mysql.default_host = nom d'hôte

L'hôte du serveur par défaut à utiliser lors de la connexion au serveur de base de données si aucun autre hôte n'est spécifié.

mysql.default_user = nom d'utilisateur

Nom d'utilisateur par défaut à utiliser lors de la connexion au serveur de base de données si aucun autre nom n'est spécifié.

mysql.default_password = mot de passe

Le mot de passe par défaut à utiliser lors de la connexion au serveur de base de données si aucun autre mot de passe n'est spécifié.