Page 1 sur 1

[Résolu]Install pear avec wamp (grrr)

Posté : 12 mai 2009, 21:37
par niuxe
Bonsoir tout le monde,

Avant de poser ma question, j'ai cherché sur le net et impossible de trouver quelque chose de concret. J'ai vu des inepties à revendre et j'ai même planté mysql suite à un changement de Wamp |*(). Enfin bref, je n'arrive pas à l'installer correctement et utiliser une classe de cette bibliothèque. Fpdf est nettement plus simple à utiliser.

Mes questions sont :

* Pourquoi une classe PEAR ne fonctionne pas comme une autre classe (exemple fpdf) ?
* À quoi sert le fichier go-pear.bat ?
* Si go-pear.bat sert à installer le Framework, comment se fait il que cela ne s'installe pas correctement ? (je parle lors d'un appel à une classe. ex : require_once"db.php");
* Comme j'ai changé de Wamp (1.7 -> 2.0), je me suis aperçu que lors du lancement de go-pear.bat, cela ne s'installe pas correctement. J'ai lu que c'était des variables d'environement qui restaient dans la base de registre. Comment les virer ? (j'ai désinstallé, redémarrer, réinstaller = même problème). Dans le regedit, il n'y a pas de clef pour les variables d'environement (???).
* J'ai compris que set_include_path(get_include_path() . ";c:\php\pear") sert à rediriger lors d'un appel à une classe. Mais pourquoi cette expression : « ;c:\php\pear » ?
* Si vous avez un lien concret ou une bonne explication, je suis preneur.

Je vous remercie infiniment de m'aider car là je vais devenir dingue ? Pear, il n'y a pas pire pour l'install sur wamp.

Bonne soirée à vous et merci encore de votre aide

Posté : 12 mai 2009, 22:25
par zeus
Bonsoir,

Le fichier go-pear.bat permet d'installer le système de base de PEAR, à savoir le coeur, ainsi que le système de téléchargement des package.
Lors de cette installation, quelques paquets sont installés. Pour savoir lesquels, tu peux te rendre dans une console et tapper "pear list".
Un tuto qui me semble complet pour installer PEAR est celui-là : http://www.6ma.fr/tuto/installer+pear+avec+wamp-455

Si un paquet que tu désires n'est pas présent, il faut que tu te rendes dans une console et que tu tapes "pear install [nom_du_paquet]" (remplacer [nom_du_paquet] par le paquet en question).

Posté : 13 mai 2009, 00:30
par niuxe
Bonsoir Zeus, :)

Ouf, je commence à me sortir de la panade grâce à toi et je t'en remercie beaucoup. Le peu que j'ai essayé sur le poste où je suis (cyber) est très encourageant. Ce soir, en rentrant, je vais essayer ce que je viens de faire et essayer de rechercher/trouver. J'ai fait ceci :

* Fait le tuto (http://www.6ma.fr/tuto/installer+pear+avec+wamp-455 ) pour Wamp 2.0
* invité de commande
* cd C:\wamp\bin\php\php5.2.9-2
* pear install HTML_Common-1.2.5
* pear install HTML_Page-2.0.0RC2

Lorsque je lance ce script :

Code : Tout sélectionner

require_once 'HTML/Page.php'; $p = new HTML_Page(); $p->addBodyContent('<h1>Headline</h1>'); $p->addBodyContent('<p>Copyright 2003 The PHP Group</p>'); $p->display();
J'ai l'erreur suivante :
Warning: require_once(HTML/Page.php) [function.require-once]: failed to open stream: No such file or directory in C:\wamp\www\test\Page_Simple.php on line 21

Fatal error: require_once() [function.require]: Failed opening required 'HTML/Page.php' (include_path='.;C:\php5\pear') in C:\wamp\www\test\Page_Simple.php on line 21
Je te remercie par avance de me dire ce qu'il ne va pas. À moins qu'une âme charitable passe également par là. :)

Bonne soirée à vous

Posté : 13 mai 2009, 10:56
par zeus
Bonjour,

Il est possible que PEAR ne soit pas dans le PATH de ton PC.
Pour information, le PATH est une suite de chemin dans lequel les applicatifs vont chercher quand tu demandes un programme avec un chemin relatif. Donc, quand tu demandes l'inclusion du fichier "HTML/Page.php", il ne se trouve pas dans le dossier HTML qui se trouve au même niveau que ton fichier PHP.
Pour que ça marche, il va nous falloir ajouter le chemin de PEAR dans le PATH.

Pour cela,
  • tu fais un clic-droit sur le poste de travail (Bureau ou menu démarrer) et tu cliques sur "Propriétés".
  • Choisi l'onglet "Avancé" et cliques sur le bouton "Variables d'environnement".
  • Dans le fieldset "Variables système", sélectionne la ligne "Path" et cliques sur le bouton "Modifier".
  • Dans la fenêtre qui s'ouvre, rend toi à la fin de la ligne "Valeur de la variable" et ajoute le chemin complet vers PEAR (c'est là que s'est installé PEAR quand tu as lancé le go-pear.bat). ATTENTION : il faut penser à rajouter un ; avant ton chemin, pour séparer du chemin d'avant.
  • Tu peux tout fermer et relancer ton script. Si tu ne t'es pas trompé de chemin, tout devrait fonctionner.

Posté : 13 mai 2009, 22:01
par niuxe
Bonsoir Zeus, :)

J'ai réussi hier soir en rentrant. Je me disais que Wamp et Pear n'allait pas me la faire à l'envers. J'ai mis une plombe à comprendre ce qu'il ne va pas et comment y remédier.

En lisant le fichier PEAR_ENV.reg, j'ai vu où étaient les anciennes adresses d'environement. Voici la capture d'écran pour la personne qui lira ce post au cas où.

Tu m'as mis sur la voie en me confirmant le tut et lorsque tu m'as dis ceci :
Si un paquet que tu désires n'est pas présent, il faut que tu te rendes dans une console et que tu tapes "pear install [nom_du_paquet]" (remplacer [nom_du_paquet] par le paquet en question).
* J'ai tout désinstallé,
* Viré les variables d'environement
* redémarrer la machine
* réinstallé
* installé PEAR (suivant le tut)
* installé quelques librairies
* testé le tout en faisant ceci :

Code : Tout sélectionner

$chemin = 'C:\wamp\bin\php\php5.2.9-2\PEAR'; set_include_path($chemin); require_once 'HTML/Page.php'; $p = new HTML_Page(); $p->addBodyContent('<h1>Headline</h1>'); $p->addBodyContent('<p>Copyright 2003 The PHP Group</p>'); $p->display();
Je te remercie encore une fois d'avoir pris la peine de t'intéresser à mon soucis. Surtout qu'hier soir j'étais décomposé/contrarié avec la perte de ma bdd. Enfin, il me reste à restaurer le dump étape par étape afin de récupérer le tout.

Je te souhaite une agréable soirée et au plaisir de te lire.

ps : Je note également ta dernière réponse qui me parait également très bien dans une situation similaire :)