Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > PEAR
PEAR Forum d'entraide sur le framework PHP : PEAR. Avant de poster -> cours PEAR.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 02/12/2010, 17h04   #1
skandhal
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Par défaut Installation et utilisation de PEAR

Bonjour à toutes et tous,

Comme à mon habitude, voici là situation:

J'utilise WampServer2.0i que j'ai quelque peu modifié pour accueillir:
- Apache 2.2.17
- PHP 5.3.3
- MySQL 5.1.53
- PhpMyAdmin 3.3.8.1

Tout ce petit monde cohabite et fonctionne à merveille

Maintenant, j'ai besoin d'installe PEAR pour pouvoir utiliser les fonctions d'envois d'email avec authentification au smtp.

Donc j'ai modifié go-pear.bat pour ne plus avoir de message d'erreur:

Code :
1
2
3
4
@ECHO OFF
set PHP_BIN=php.exe
%PHP_BIN% -d output_buffering=0 -d phar.require_hash=0 PEAR\go-pear.phar
pause
Ce script s'exécute bien et il me propose bien d'installer PEAR

Par contre j'ai un doute au moment du choix des dossiers (2ème étape de l'installation)

En fait, j'ai à l'écran ce qui suis:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
c:\wamp\bin\php\php5.3.3>go-pear.bat

Are you installing a system-wide PEAR or a local copy?
(system|local) [system] :

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)                   : C:\wamp\bin\php\php5.3.3
 2. Temporary directory for processing            : C:\wamp\bin\php\php5.3.3\tmp
 3. Temporary directory for downloads             : C:\wamp\bin\php\php5.3.3\tmp
 4. Binaries directory                            : C:\wamp\bin\php\php5.3.3
 5. PHP code directory ($php_dir)                 : C:\wamp\bin\php\php5.3.3\pear
 6. Documentation directory                       : C:\wamp\bin\php\php5.3.3\docs
 7. Data directory                                : C:\wamp\bin\php\php5.3.3\data
 8. User-modifiable configuration files directory : C:\wamp\bin\php\php5.3.3\cfg
 9. Public Web Files directory                    : C:\wamp\bin\php\php5.3.3\www
10. Tests directory                               : C:\wamp\bin\php\php5.3.3\tests
11. Name of configuration file                    : C:\Windows\pear.ini
12. Path to CLI php.exe                           : .

1-12, 'all' or Enter to continue:
Pour le premier choix (SYSTEM ou LOCAL) j'ai choisi: SYSTEM (choix par défaut)

Pour les dossiers je constate notamment qu'il me propose
Pour le dossier WWW: C:\wamp\bin\php\php5.3.3\www
alors que mon dossier WWW est celui de Wamp c'est à dire: C:\wamp\www\
Pour le dossier data: C:\wamp\bin\php\php5.3.3\data
alors que mon dossier data est celui de MySQL c'est à dire: C:\wamp\bin\mysql\mysql5.1.53\data

Dois-je changer les paramètres que me propose l'installation de PEAR ? Pour trouver dans la liste des dossiers:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 1. Installation base ($prefix)                   : C:\wamp\bin\php\php5.3.3
 2. Temporary directory for processing            : C:\wamp\bin\php\php5.3.3\tmp
 3. Temporary directory for downloads             : C:\wamp\bin\php\php5.3.3\tmp
 4. Binaries directory                            : C:\wamp\bin\php\php5.3.3
 5. PHP code directory ($php_dir)                 : C:\wamp\bin\php\php5.3.3\pear
 6. Documentation directory                       : C:\wamp\bin\php\php5.3.3\docs
 7. Data directory                                : C:\wamp\bin\mysql\mysql5.1.53\data
 8. User-modifiable configuration files directory : C:\wamp\bin\php\php5.3.3\cfg
 9. Public Web Files directory                    : C:\wamp\www\
10. Tests directory                               : C:\wamp\bin\php\php5.3.3\tests
11. Name of configuration file                    : C:\Windows\pear.ini
12. Path to CLI php.exe                           : .
Voilà j'attends vos suggestions avant de poursuivre cette installation. Merci par avance à ceux qui pourront me renseigner

Dernière modification par skandhal ; 03/12/2010 à 14h14. Motif: Changement du titre
  Envoyer un message privé Réponse avec citation 00
Vieux 03/12/2010, 14h37   #2
skandhal
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Bon j'ai installé PEAR en changeant les dossiers data et www n'ayant pas eu réponse.

Maintenant lorsque je souhaite utiliser des fonctions de PEAR j'ai un message d'erreur qui s'affiche dans mon navigateur:

Citation:
Warning: require_once(Pager.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\site\registering.php on line 4

Fatal error: require_once() [function.require]: Failed opening required 'Pager.php' (include_path='.;C:\php5\pear') in C:\wamp\www\site\registering.php on line 4
Je souhaite utiliser la fonction d'envoi d'e-mail, donc Mail() de PEAR.

Voici le code php de ma page registering.php
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 
<?php
	session_start();
	$page="registering";
	require_once 'Pager.php'; /* ligne 4 */
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!-- CODE HTML ... -->
<?php
	if(isset($_POST['name'])
	&& isset($_POST['firstname'])
	&& isset($_POST['company'])
	&& isset($_POST['rcs'])
	&& isset($_POST['mail'])
	&& isset($_POST['password'])
	&& isset($_POST['password2']))
	{
		if(!empty($_POST['name'])
		&& !empty($_POST['firstname'])
		&& !empty($_POST['company'])
		&& !empty($_POST['rcs'])
		&& !empty($_POST['mail'])
		&& !empty($_POST['password'])
		&& !empty($_POST['password2']))
		{
			/* Traitement et Vérification pour BDD */
			/* ... */
 
			/* Après traitement création et envoie du mail */
			$mail_body = '<html><head><title>Liste de site à visiter</title></head><body><p>Test d'envoi d'email</body></html>';
			$mail_from = "arnaud.nicole.84@gmail.com";
			$mail_to = "arnaud.nicole.84@gmail.com";
			$mail_subject = "Hi!";
			$mail_body = $message;
 
			$mail_host = "smtp.gmail.com";
			$mail_username = "arnaud.nicole.84@gmail.com";
			$mail_password = "mypassword";
 
			$mail_headers = array ('From' => $mail_from, 'To' => $mail_to, 'Subject' => $mail_subject);
			$smtp = factory('smtp', array ('host' => $mail_host, 'auth' => true, 'username' => $mail_username, 'password' => $mail_password));
			$mail = $smtp->send($mail_to, $mail_headers, $mail_body);
 
			if (PEAR::isError($mail)) echo("<p>" . $mail->getMessage() . "</p>");
			else echo("<p>Message successfully sent!</p>");
		}
		else /* Traitement de l'erreur 2*/
	}
	else /* Traitement de l'erreur 1*/
?>
Dans l'erreur il est indiqué: include_path='.;C:\php5\pear' alors que mon php se trouve dans le dossier c:\wamp\bin\php\php5.3.3\ dans lequel j'ai un sous-dossier pear.

Mon problème c'est que je ne sais pas quel fichier il faut que je modifie pour avoir le bon chemin d'accès. C:\php5\pear n'existe pas dans php.ini

Par contre j'ai bien include_path dans php.ini ajouté par l'installation de PEAR qui pointe bien sur le bon dossier de pear ( c:\wamp\bin\php\php5.3.3\pear )

Je ne comprends pas pourquoi ça veut pas fonctionner...

Dernière modification par skandhal ; 03/12/2010 à 15h14.
  Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2010, 05h24   #3
skandhal
Invité(e)
 
Messages : n/a
Détails du profil
Informations forums :
Messages : n/a
Points : 0
Bonsoir/jour à toutes et tous,

Bon je pense avoir résolu mon problème, grâce à un cours que j'ai mis un moment à trouver sur le site de Developpez.net

Pour info:

Guide d'installation de la bibliothèque PEAR de Jérôme CHABAUD

Je n'ai pas de lien en post-it (ou alors je ne l'ai pas vu) vers ce mini-guide très pertinent. Peut-être qu'il faudrait le mettre, j'ai vu qu'il y avait beaucoup de questions similaires à la mienne. Je pense que ça peut aider plus d'un personne.


[POUR INFOS et SOLUTIONS] Rappel du mini-guide de Jérôme CHABAUD que j'ai commenté pour la clarté. Vous verrez qu'il est à peu de chose prêt identique à celui du guide.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
	echo 'Paramétrage de PEAR et test<br />';
 
	$path = 'C:\wamp\bin\php\php5.3.3\PEAR'; /* Le dossier racine de PEAR */
 
	/* Ajouter $path temporairement (le temps d'exécution du script) au path de PHP*/
	set_include_path(get_include_path() . PATH_SEPARATOR . $path); /* Permet de l'ajouter au path */
 
	/* Paramètre de connexion pour la base de donnée maBase (MySQL) */
	$user = 'root';
	$passwd = '';
	$mysqlServer = '127.0.0.1';
	$dataBaseName ='maBase';
 
	/*Package du Framework à utiliser -
	 * Pour l'installer:
	 * - ouvrir une console (cmd sous windows)
	 * - et taper: PEAR install db 
	 * (si ça ne fonctionne pas aller dans le dossier racine de PEAR grâce à la commande cd)
	 * et retaper la commande précédente.
	 * /
 
	require_once 'DB.php'; /* Le package dont on a besoin */
 
	/* Utilisation du package - Si la connexion à votre base de données MySQL fonctionne le message "la connexion a réussie"
	 * se présent. Il ne vous reste plus qu'a installer les packages dont vous avez besoin 
	 */
	$dsn ='mysql://'.$user.':'.$passwd.'@'.$mysqlServer.'/'.$dataBaseName;
	$db =& DB::connect($dsn);
	if (DB::isError($db)) die($db->getMessage());
	echo 'la connexion a reussie' ; 
	$db->disconnect();
 
?>
Bonne utilisation de PEAR à toutes et tous

PS: Dans mon premier post de ce topic se trouve une question sur les chemins d'accès a www et data. Il faut que vous spécifier vous même les chemins en les modifiant grâce à leur numéro respectif.

En tout cas ça à l'air de fonctionner comme sur des roulettes

Amicalement.

Dernière modification par skandhal ; 04/12/2010 à 05h43.
  Envoyer un message privé Réponse avec citation 00
Réponse Mettre Résolu
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h52.


 
 
 
 
Partenaires

Hébergement Web