Installer PEAR et PECL...

JulesB

Membre actif
24 Août 2005
151
5
44
Marseille
Salut zatous les macGéniaux !

Voilà, je voudrais pour les besoin d'une appli en flash installer des modules php pour gérer les tags id3. Je me suis donc procuré la pplus récente version de PEAR ainsi que les packages PECL nécessaires (Net_URL, MP3_Id, MP3_Playlist).
Je voudrais dans un premier temps les installer localement pour faire mes premiers tests, puis par la suite les installer sur mon espace perso chez free.fr.
Après avoir consulté les pages de référence desdits packages et avoir sué quelques bonnes heures dans le cambouis du Terminal, je ne parviens toujours pas à les faire fonctionner.
Les redoutables PHPistes qui rôdent en ces eaux profondes auraient-ils l'amabilité de bien vouloir éclairer ma lanterne ?

:zen:

PS: je suis sous MacOs 10.4.8 avec MAMP…
 
tes packages Net_URL, MP3_Id, MP3_Playlist ne sont apaprement pas des packages pecl mais de pear.
par contre dans pecl il y a http://pecl.php.net/package/id3 qui pourrait t'intéresser

mais sinon ca ne regle pas le pb, il n'y a à proprement parler rien à installer pour utiliser pear. ce sont des classes php donc tu les utilises via de simples include (ou require).

le détail pour une installation manuelle détaillée et plus que compréhensible ici : http://php.developpez.com/cours/installationpear/

c'est à mon avis le mieux pour une utilisation locale. après via free, ej crois savoir qu'ils installent eux meme le package pear avec certains packages mais je n'en sais pas plus, n'utilisant pas free.

EDIT : je ne vois pas du tt pourquoi tu a pu utiliser le terminal?? il n'est d'aucun intéret ici.
 
dans pecl il y a http://pecl.php.net/package/id3 qui pourrait t'intéresser
Merci, j'avias déjà trouvé
je ne vois pas du tt pourquoi tu a pu utiliser le terminal?? il n'est d'aucun intéret ici.
J'ai du y avoir recours pour installer pear-base de chez DarwinPorts
le détail pour une installation manuelle détaillée et plus que compréhensible ici : http://php.developpez.com/cours/installationpear/
Ok merci je vais aller jeter un coup d'oeil !
:zen:
 
OK, je croyais juste que les classes php devaient être installées dans un répertoire spécial et fixe, mais en fait si j'ai bien compris c'est comme dans tous les langages, je spécifie juste un classpath dans l'include et sa roule…non ?
 
OK, je croyais juste que les classes php devaient être installées dans un répertoire spécial et fixe, mais en fait si j'ai bien compris c'est comme dans tous les langages, je spécifie juste un classpath dans l'include et sa roule…non ?

exactement!
il faut juste respecter une hiérarchie parmi les packages pear, celle par défaut!, et si ca pose pb, tu retrouve tt de suite la hiérarchie nécessaire avec l'erreur renvoyé a cause des include.

mais sinon ds ton appli, oui juste un class path, ou un include des classes dont tu a besoin. (ce qui, je trouve, est plus pratique et surtt plus compréhensible pour une personne qui devrait reprendre ton projet par la suite)

++
 
ReSalut !
J'ai bien suivi les instructions de ton lien, Zeusviper, mais je n'y arrive toujours pas:
chez Free:
-installé le repertoire pear à la racine de l'hébergement
-le package DB à la racine du repertoire pear
voici le script php:
Bloc de code:
<?php
set_include_path(get_include_path().PATH_SEPARATOR.$_SERVER['DOCUMENT ROOT'].'/pear/DB/');
$user = 'mon.login;
$passwd = 'motDePasse';
$mysqlServer = 'sql.free.fr';
$dataBaseName ='maBase';
require_once 'DB.php';
$dsn ='mysql://'.$user.':'.$passwd.'@'.$mysqlServer.'/'.$dataBaseName;
$db =& DB::connect($dsn);
if (DB::isError($db)) {
    die($db->getMessage());}
echo 'la connexion a reussie' ; 
$db->disconnect();
?>
et les erreurs renvoyées
Bloc de code:
Warning: main() [function.main]: open_basedir restriction in effect. File(/usr/php4/lib/php/DB.php) is not within the allowed path(s): (/mnt/108/sdc/6/4/jules.bernable) in /mnt/108/sdc/6/4/mon.login/connect.php on line 7

Warning: main(DB.php) [function.main]: failed to open stream: Operation not permitted in /mnt/108/sdc/6/4/mon.login/connect.php on line 7

Fatal error: main() [function.require]: Failed opening required 'DB.php' (include_path='/mnt/108/sdc/6/4/mon.login/include:.:/usr/php4/lib/php') in /mnt/108/sdc/6/4/mon.login/connect.php on line 7
Une idée ? :confused:
 
et en mettant

Bloc de code:
set_include_path($_SERVER['DOCUMENT ROOT'] . '/pear/DB/' . PATH_SEPARATOR . get_include_path());

plutot que

Bloc de code:
set_include_path(get_include_path().PATH_SEPARATOR.$_SERVER['DOCUMENT ROOT'].'/pear/DB/');

?

EDIT : v&#233;rifie aussi ce qui est renvoy&#233; par $_SERVER['DOCUMENT ROOT'], si ca correspond bien.
 
mySql a dit:
Warning: main() [function.main]: open_basedir restriction in effect. File(/usr/php4/lib/php/DB.php) is not within the allowed path(s): (/mnt/108/sdc/6/4/mon.login) in /mnt/108/sdc/6/4/mon.login/connect.php on line 7

Warning: main(DB.php) [function.main]: failed to open stream: Operation not permitted in /mnt/108/sdc/6/4/mon.login/connect.php on line 7

Fatal error: main() [function.require]: Failed opening required 'DB.php' (include_path='/mnt/108/sdc/6/4/mon.login/include:.:/usr/php4/lib/php') in /mnt/108/sdc/6/4/mon.login/connect.php on line 7


……………………

 
Apparement, il faut copier les packages pear dans le r&#233;pertoire d&#233;di&#233; aux inclusions que fournit free.fr &#224; savoir le r&#233;pertoire include &#224; la racine de ton ftp

c'est un pb li&#233; a free, non a pear.. je n'utilise heureusement pas free (bien trop probl&#233;matique sur tt les points a mon gout!) donc je ne peux pas trop t'aider plus la dessus!

surement aussi li&#233; &#224; un open_basedir qui serati non ou mal pos&#233;..