PEAR (faut prononcer « paire » et non « pire ») est une bibliothèque très complète destiné aux programmeurs PHP.
PEAR est composé de paquet (package en anglais).
Chaque paquet à ses propres fonctionnalités.
Un paquet est composé de X classes.
Le site de PEAR
quelques exemples de paquet :
- MDB2 : accés aux bases de données.
- Auth : Authentification des utilisateurs.
- Net_Socket : gestion des communications TCP/IP
- Net_POP3 : accés aux serveurs POP3
- Log : gestion des logs
- Mail : interface pour envoyer des mails
cliquez sur ce lien pour accéder à la Liste des paquets

Pour installer PEAR sur votre site web, le plus simple et de passer par go-pear, c’est un script PHP qu’il suffit de récuperer a cette adresse : go-pear.
Copier le code dans un fichier PHP (par exemple « index.php »).
Placer le fichier sur votre site, dans un répertoire prévu a cet effet (dans mon exemple /www/classe/PEAR/) et étant protégé des accès indésirable par un .htaccess et un .htpasswd.
note : pour être certain du chemin réel d’un répertoire, voir ici : Récuperer le chemin réel d’un répertoire
contenu du .htaccess
AuthUserFile /www/classe/PEAR/.htpasswd AuthName "Accès Restreint" AuthType Basic <Limit GET POST> require valid-user </Limit>
contenu du .htpasswd (voir ici pour créer le mot de passe crypté : htpasswd)
login:motDepasseCrypté
et maintenant vous pouvez exécuter le script dans votre navigateur : http://monSite.com/classe/PEAR/index.php.
Le téléchargement de PEAR et des paquets de base ce fera automatiquement des que vous aurez validé les options.
Une fois tout installé et configuré, vous aurez droit a une belle interface :
Cette interface permet de gérer les paquets (ajout,recherche,effacement).

Après avoir passé toutes ces étapes avec succès, vous êtes prêt a utiliser PEAR dans vos scripts.
Faut eviter les include
ou require
qui pointent réellement sur les classes de PEAR, exemple :
require_once '/www/classe/PEAR/PEAR/PEAR.php';
Ce n’est pas faux, mais ce n’est pas la bonne solution, surtout si vous travaillez sur plusieurs serveurs, à chaque changement, vous allez être obligé de redéfinir les chemins.
La bonne solution, est de ce contenter d’un :
require_once 'PEAR.php';
Ensuite, il faut donner au moteur PHP les bonnes infos pour trouver le répertoire d’inclusion.
Pour l’aider, voici ce qu’il faut faire (fichier « config.php ») :
define('PEAR_DIR', '/www/classe/PEAR/PEAR/');
(fichier « commun.php »), à insérer dans tous les scripts PHP ayant besoin de PEAR :
require_once 'config.php'; set_include_path(get_include_path().PATH_SEPARATOR.PEAR_DIR); require_once 'PEAR.php'; require_once 'MDB2.php';
Voila, rien de plus compliqué que ceci.
Le set_include_path()
, nous permet de définir le ou les répertoires d’inclusion, donc si PHP ne trouve pas le fichier « PEAR.php » quand on fait require_once 'PEAR.php';
, il va le chercher dans un des répertoires définit par set_include_path()