+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    skandhal
    Invité(e)

    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 à 15h14. Motif: Changement du titre

  2. #2
    skandhal
    Invité(e)

    Par défaut

    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:

    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 à 16h14.

  3. #3
    skandhal
    Invité(e)

    Par défaut

    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 à 06h43.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •