4.Configuration et environnement d'exécution de PHP

4.2.Configuration de PHP

4.2.2.Via le fichier php.ini

4.2.2.1.Introduction

Comme nous le verrons à différentes occasions, le comportement de PHP est, dans de nombreux cas, conditionné par la façon dont il est configuré. La configuration de PHP peut être modifiée (pour partie) par appel à des fonctions mais elle est définie par défaut dans un fichier baptisé (par défaut) php.ini (pouvant éventuellement faire appel à d'autres fichiers de configuration).
Nous verrons donc, comment déterminer l'emplacement de ce fichier et comment l'interpréter.

4.2.2.2.Trouver le fichier php.ini

4.2.2.2.1.Introduction

La première étape dans le paramétrage de PHP consiste donc à trouver ce fameux fichier php.ini.
On peut avoir à distinguer le cas où PHP est intégré dans un site web et le cas où PHP est utilisé en ligne de commande.
rem
  • Attention, les deux interpréteur PHP (web et ligne de commande) peuvent avoir des configurations différentes (et donc utiliser des fichiers php.ini différents)

4.2.2.2.2.PHP pour un site web

Le plus simple dans le cas de l'utilisation de PHP dans un site web, c'est de faire appel à la fonction phpinfo();. Pour cela il vous suffit de déposer le script suivant dans votre espace web[où?] et de l'exécuter[comment?].
<?php
phpinfo();
?>
Sur la page web affichée, vous pouvez alors consulter le bloc
chemin php.ini
La ligne "Loaded Configuration File" vous donne le chemin du fichier php.ini. (dans notre cas /etc/php5/apahe2/php.ini)
Si ce fichier php.ini fait appel à d'autres fichiers, ceux-ci sont listés dans la ligne "additionnal .ini files parsed".
warning Il est fortement déconseillé de laisser un fichier contenant un appel à phpinfo() sur un site web accessible publiquement. Cela pourrait permettre à un pirate d'en connaître un peu trop sur votre environnement web et donc de profiter plus facilement d'éventuelles failles de sécurité.

4.2.2.2.3.PHP en ligne de commande

Pour ce qui concerne les scripts PHP utilisés en ligne de commande, vous pourrez déterminer l'emplacement du fichier php.ini utilisé en tapant la commande suivante $ php --ini
Celle-ci vous donnera directement le résultat
Configuration File (php.ini) Path: /etc/php5/cli
Loaded Configuration File:         /etc/php5/cli/php.ini
Scan for additional .ini files in: /etc/php5/cli/conf.d
Additional .ini files parsed:      /etc/php5/cli/conf.d/curl.ini,
/etc/php5/cli/conf.d/gd.ini,
/etc/php5/cli/conf.d/ldap.ini,
/etc/php5/cli/conf.d/mcrypt.ini,
/etc/php5/cli/conf.d/mysql.ini,
/etc/php5/cli/conf.d/mysqli.ini,
/etc/php5/cli/conf.d/pdo.ini,
/etc/php5/cli/conf.d/pdo_mysql.ini
Là encore, il suffit de retrouver la ligne "Loaded Configuration File" pour retrouver le chemin du fichier php.ini (ici /etc/php5/cli/php.ini)
Si ce fichier php.ini fait appel à d'autres fichiers, ceux-ci sont listés dans la ligne "additionnal .ini files parsed".