PEAR est le choix idéal pour ceux qui désirent faciliter leurs campagnes de marketing par e-mail. Cela étant, vu que PEAR n’est pas installé par défaut sur nos serveurs, vous devrez d’abord passer par quelques étapes de configuration. Veuillez suivre les étapes décrites ci-dessous pour installer et configurer PEAR.
Installation
N.B. : Vous ne pouvez procéder à cette installation vous-même que si vous bénéficiez d’un accès SSH.
N.B. : Dans le code et le résultat à l’écran fournis comme exemples, nous utilisons le nom de compte d’hébergement « ninefortwobe » car nous installons PEAR sur l’hébergement ninefortwo.be. Veillez à remplacer ‘ninefortwobe’ par le nom de votre compte. Il doit s’agir du nom de domaine de l’hébergement sans aucun point (‘.’).
Vous devez exécuter l’installation de PEAR depuis la racine de l’hébergement (le répertoire au-dessus du dossier « www »). Vous pouvez vous rendre dans ce dossier via le lien symbolique « site » :
cd /site
Tout d’abord, le pack go-pear.phar doit être téléchargé pour pouvoir lancer l’installation :
curl -O https://pear.php.net/go-pear.phar
php go-pear.phar
Ensuite, une fois que vous avez téléchargé le pack, vous pouvez lancer l’installation. Appuyez simplement sur Entrée pour continuer.
server@com-linssh001:~# php go-pear.phar
Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.
1. Installation base ($prefix) : /data/sites/web/ninefortwobe/pear
2. Temporary directory for processing : /tmp/pear/install
3. Temporary directory for downloads : /tmp/pear/install
4. Binaries directory : /data/sites/web/ninefortwobe/pear/bin
5. PHP code directory ($php_dir) : /data/sites/web/ninefortwobe/pear/share/pear
6. Documentation directory : /data/sites/web/ninefortwobe/pear/docs
7. Data directory : /data/sites/web/ninefortwobe/pear/data
8. User-modifiable configuration files directory : /data/sites/web/ninefortwobe/pear/cfg
9. Public Web Files directory : /data/sites/web/ninefortwobe/pear/www
10. Tests directory : /data/sites/web/ninefortwobe/pear/tests
11. Name of configuration file : /data/sites/web/ninefortwobe/.pearrc
1-11, 'all' or Enter to continue:
PEAR voudra ensuite modifier l’include_path de la CLI. Ne faites pas cela – tapez simplement ‘n’ pour ignorer cette étape.
Beginning install...
Configuration written to /data/sites/web/ninefortwobe/.pearrc...
Initialized registry...
Preparing to install...
installing phar:///site/go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.3.7.tar...
installing phar:///site/go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.3.0.tar...
installing phar:///site/go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.9.4.tar...
installing phar:///site/go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.0.4.tar...
installing phar:///site/go-pear.phar/PEAR/go-pear-tarballs/XML_Util-1.2.1.tar...
install ok: channel://pear.php.net/Archive_Tar-1.3.7
install ok: channel://pear.php.net/Console_Getopt-1.3.0
install ok: channel://pear.php.net/Structures_Graph-1.0.4
install ok: channel://pear.php.net/XML_Util-1.2.1
install ok: channel://pear.php.net/PEAR-1.9.4
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
******************************************************************************
WARNING! The include_path defined in the currently used php.ini does not
contain the PEAR PHP directory you just specified:
</data/sites/web/ninefortwobe/pear/share/pear>
If the specified directory is also not in the include_path used by
your scripts, you will have problems getting any PEAR packages working.
Would you like to alter php.ini </etc/php5/cli/php.ini>? [Y/n] : n
Voici que ce vous verrez ensuite. Appuyez sur ‘Entrée’ pour continuer
I will add a workaround for this in the 'pear' command to make sure
the installer works, but please look over your php.ini or Apache
configuration to make sure /data/sites/web/ninefortwobe/pear/share/pear is in your include_path.
Current include path : .:/usr/share/php:/usr/share/pear
Configured directory : /data/sites/web/ninefortwobe/pear/share/pear
Currently used php.ini (guess) : /etc/php5/cli/php.ini
Press Enter to continue:
Enfin, vous recevrez la confirmation de l’installation :
** WARNING! Old version found at /data/sites/web/thijsferynnet/pear/bin, please remove it or be
sure to use the new /data/sites/web/thijsferynnet/pear/bin/pear command
The 'pear' command is now at your service at /data/sites/web/thijsferynnet/pear/bin/pear
** The 'pear' command is not currently in your PATH, so you need to
** use '/data/sites/web/thijsferynnet/pear/bin/pear' until you have added
** '/data/sites/web/thijsferynnet/pear/bin' to your PATH environment variable.
Run it without parameters to see the available actions, try 'pear list'
to see what packages are installed, or 'pear help' for help.
For more information about PEAR, see:
http://pear.php.net/faq.php
http://pear.php.net/manual/
Thanks for using go-pear!
Utilisez le gestionnaire de packs
Maintenant que PEAR est installé, vous pouvez installer les packs. Pour obtenir la fonction mail, veuillez exécuter la commande suivante (sans oublier pas de remplacer ‘ninefortwobe’ par le nom de votre compte, sans le ‘.’) :
/data/sites/web/ninefortwobe/pear/bin/pear install mail
Voici le résultat que vous obtiendrez :
Did not download optional dependencies: pear/Net_SMTP, use --alldeps to download
automatically
pear/Mail can optionally use package "pear/Net_SMTP" (version >= 1.4.1)
downloading Mail-1.2.0.tgz ...
Starting to download Mail-1.2.0.tgz (23,214 bytes)
........done: 23,214 bytes
install ok: channel://pear.php.net/Mail-1.2.0
Les packs mêmes se trouvent dans /data/sites/web/ninefortwobe/pear/share/pear.
Modifiez l’include_path
Pour pouvoir utiliser PEAR de manière efficace, vous devez modifier votre include_path. Les développeurs peuvent le modifier dans leur code au moyen de cette astuce bien connue :
<?php
set_include_path(implode(PATH_SEPARATOR, array(
realpath( '../pear/share/pear'),
get_include_path(),
)));
Ou vous pouvez ajouter l’include_path dans la section ‘Paramètres PHP’ du panneau de contrôle de votre hébergement dans le panneau de contrôle :
/data/sites/web/ninefortwobe/pear/share/pear
Astuce : Vous pouvez faire cela dans Mes Produits >> Hébergement web >> Détails de l’hébergement >> Paramètres PHP >> Include paths
Messagerie électronique
Une fois que PEAR et le module Mail sont installés, vous devez également installer le module Net_SMTP si vous voulez envoyer des e-mails en utilisant un serveur relais avec authentification. Utilisez la commande suivante :
/site/pear/bin/pear install Net_SMTP
Ci-dessous, vous avez un exemple d’un script PHP permettant d’envoyer des e-mails avec authentification :
NOTE : sur un hébergement Linux, tout le trafic SMTP passant par le port 25 est redirigé vers le serveur relais par défaut de l’infrastructure d’hébergement (relay.webhosting.be). Pour vous assurer que vous utilisez votre propre serveur SMTP, vous devez utiliser un port alternatif (2525 dans l’exemple ci-dessous).
<?php
include("Mail.php");
/* mail setup recipients, subject etc */
$recipients = "info@ninefortwo.be";
$headers["From"] = "info@ninefortwo.be";
$headers["To"] = "info@ninefortwo.be";
$headers["Subject"] = "Email subject";
$mailmsg = "Hello, This is a check.";
/* SMTP server name, port, user/passwd */
$smtpinfo["host"] = "mailing.ninefortwo.be";
$smtpinfo["port"] = "2525";
$smtpinfo["auth"] = true;
$smtpinfo["username"] = "id111111_ninefortwobe";
$smtpinfo["password"] = "$tr0ngPa$worD";
/* Create the mail object using the Mail::factory method */
$mail_object =& Mail::factory("smtp", $smtpinfo);
/* Ok send mail */
$mail_object->send($recipients, $headers, $mailmsg);
?>