Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Come scaricare PEAR su window?????

    Ho trovato un vostro articolo dal titolo PEAR una montagna di codice PHP
    l'articolo è abbastanza vecchio ed i link che indica non sono più validi.
    Sapete indicarmi altri articoli in ITALIANO che trattano questo argomento???
    Oppure sapete se Fabio Sutto che ha scritto l'articolo ha un sito/email dove è possibile contattarlo??

    Poi ci sarebbe un'altro problema.
    La guida ufficiale credo sconsigli di installare PEAR manualmente, ma nella maggior parte dei casi, il servizio di hosting sul quale ci si appoggia non consente di accedere alla shell del sistema.
    Cosa bisogna fare allora????
    Ho trovato un sito vedi qui ma non sono riuscito esattamente come si deve fare.

    Grazie
    Aspetto risposte
    Franco

  2. #2
    vai nella directory BIN di php e digita "pear install xxx"

  3. #3
    Sono andato in PHP ma non ho trovato nessuna directory BIN ci sono 4 directory
    dev ext extras PEAR ma nessuna BIN
    comunque grazie

  4. #4
    Originariamente inviato da franco1706
    Sono andato in PHP ma non ho trovato nessuna directory BIN ci sono 4 directory
    dev ext extras PEAR ma nessuna BIN
    comunque grazie
    azz :| ma hai i binari di php? forse e nella directory di PHP direttamente.. prova a vedere se c'è un eseguibile chiamato pear :|

  5. #5
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087
    ti posso dire come fare in locale (collegato in internet):
    - apri la shell che simula il DOS Programmi->accessori->Prompt dei comandi

    nella cartella C:\php trovi go-pear e ci clicchi sopra. Nella shell del DOS ti chiede se intendi installare un "system-wide PEAR" tu clicca " y " se te lo richiede riclicca y (yes)
    Comincia così un'installazione di base e se vai a dare un'occhiata nella cartella PEAR già presente in quella del PHP vedi che i file aumentano.

    sulla shell ti appare la scritta 1-10, "all" or Enter to continue .. Allora tu dai l'invio
    nel php.ini alla riga deselezionata (senza
    include_path = ".;c:\php\includes"
    aggiungi (come ti esce scritto sulla shell) .;C:\php5\pear
    significa che dei file saranno inclusi prendendoli da quella directory.

    Poi ti chiede ancora di schiacciare enter per continuare.
    Dalla shell digiti: PEAR list e ti esce la lista dei file installati (solo quelli di base)

    dal sito http://pear.php.net/ scegli il NOME de file che ti occorrono
    qui " http://pear.php.net/packages.php " c'è l'elenco copi il nome. Se p.es vuoi installare Mail_IMAP shell scrivi
    install Mail_IMAP ed invii e fa tutto da solo.

    Spero di aver risposto alla tua richiesta, se invece ho sbagliato .. scusami
    attenzipone a quello che ti dice la shell durante l'installazione.
    Ti può dire che il file chiesto è obsoleto e te ne suggerisce un'altro e lo installa da solo oppure chiede l'installazione da parte tua; oppure ti dice che occorrono altri file ed anche qui o fa da solo o chiede a te di farlo.
    ciao

  6. #6
    Salva questa pagina come file .php http://pear.php.net/go-pear nella cartella di PHP.
    Poi accedi via shell alla cartella e digita

    $> php go-pear.php

    Segui le istruzioni.

  7. #7
    Aggiungo un'altra alternativa: personalmente scompatto i pacchetti pear e copio i file che mi servono in una directory locale interna al mio dominio (mettiamo "pear"). Poi imposto set_include_path('/pear'); nell'index.php e li uso.

    Vantaggi: sei indipendente dal PEAR del provider, hai controllo assoluto sui packages e non hai bisogno di shell
    Svantaggi: no installer automatico e devi conoscere bene quello di cui hai bisogno (comprese le sue dipendenze)

  8. #8
    Grazie Nicola potresti fare qui nel forum oppure inviandomi una email un esempio completo di una installazione di un qualsiasi pacchetto??? Facendomi vedere esattamente cosa fai,come trovare e quali sono le dipendenze di quel pacchetto che installi???
    Chiedo troppo???
    In ogni caso graie
    Franco

  9. #9
    Metti che voglia usare HTML_QuickForm.

    Nella sua pagina di download http://pear.php.net/package/HTML_QuickForm/download sono citate le dipendenze: PEAR (in realtà non l'installer ma solo la classe base) e HTML_Common. Controllo quindi le dipendenze di PEAR e HTML_Common: quest'ultimo dipende solo da PEAR (e quindi non lo prendo in considerazione) mentre PEAR dipende da un bel pò di pacchetti.

    E qui scatta il primo svantaggio: devi conoscere bene quello di cui hai bisogno. Tutte le dipendenze di PEAR sono necessarie solo per l'installer, non per la classe base. Per arrivare a questo devi sapere che PEAR è insieme due cose ben distinte fra loro: una classe base, che fornisce distruttori e astrazione per la gestione degli errori, e un installer (la versione 2.0.0, in progetto per febbraio 2008, si propone infatti di dividere le due operazioni in packages separati). A questo ci arrivi facendoti il culo provando e cercando include_once e require_once nei pacchetti sorgenti, ma ai fini di questo breve excursus prendi per oro colato quello che ti dico: avrai tempo per sperimentare da solo.

    Concludendo hai bisogno di HTML_QuickForm, HTML_Common e PEAR. Vai su http://pear.php.net ed esegui il download delle ultime versioni stabili nella directory del tuo website locale. Quindi scompatti il tutto: io uso GnuLinux e quindi vado di tar, tu con Windows puoi usare 7zip (non so se winzip supporta i files gzip). Alla fine dovresti vedere questo nella directory (le versioni POSSONO essere diverse, io ho usato le mie in locale):
    codice:
    HTML_Common-1.2.3
    HTML_QuickForm-3.2.9
    PEAR-1.5.0
    HTML_Common-1.2.3.tgz
    HTML_QuickForm-3.2.9.tgz
    PEAR-1.5.0.tgz
    package2.xml
    package.xml
    Crea la directory "pear" e "pear\HTML" (maiuscole/minuscole sono importanti). Ora bisogna fare il merging dei packages. Urgerebbe un accenno alla struttura della directory di PEAR, ma su quello ti ci devi far le ossa e comunque è abbastanza intuitiva. Comunque (tralasciando le versioni dal nome delle directory):

    [list=1][*]Copia PEAR.php da PEAR a pear[*]Copia Common.php da HTML_Common a pear\HTML[*]Sposta la cartella QuickForm ed il file QuickForm.php da HTML_QuickForm a pear\HTML[*]Pulisci l'intera directory lasciando solo pear[/list=1]

    HTML_QuickForm è istallata in locale, senza il bagaglio inutile dell'installer. Ora puoi fare una prova: registra questo come index.php (è l'esempio allegato a QuickForm) e guardalo nel browser.

    Codice PHP:
    <?php

    // Assolutamente necessario: deve puntare alla directory dove hai messo il tuo pear locale
    set_include_path('./pear');

    require_once 
    'HTML/QuickForm.php';

    $form =& new HTML_QuickForm('frmTest''get');

    // Use a two-label template for the elements that require some comments
    $twoLabel = <<<_HTML
    <tr valign="top">
        <td align="right">
            <span style="color: #F00;">*</span>[b]{label}[/b]
        </td>
        <td align="left">
            <span style="color: #F00;">{error}</span>
    {element}
            
    <span style="font-size: 80%;">{label_2}</span>
        </td>
    </tr>
    _HTML;

    $renderer =& $form->defaultRenderer();
    $renderer->setElementTemplate($twoLabel'iadvChk');
    $renderer->setElementTemplate($twoLabel'iautoComp');

    // Fills with some defaults values
    $form->setDefaults(array(
        
    'itxtTest'  => 'Test Text Box',
        
    'itxaTest'  => 'Hello World',
        
    'ichkTest'  => true,
        
    'iradTest'  => 1,
        
    'iselTest'  => array('B''C'),
        
    'name'      => array('first'=>'Adam''last'=>'Daniel'),
        
    'phoneNo'   => array('513''123''3456'),
        
    'iradYesNo' => 'Y',
        
    'ichkABC'   => array('A'=>true,'B'=>true),
        
    'dateTest1' => array('d'=>11'm'=>1'Y'=>2003)
    ));

    $form->setConstants(array(
        
    'dateTest3' => time()
    ));

    // Elements will be displayed in the order they are declared
    $form->addElement('header''''Normal Elements');
    // Classic form elements
    $form->addElement('hidden''ihidTest''hiddenField');
    $form->addElement('text''itxtTest''Test Text:');
    $form->addElement('textarea''itxaTest''Test TextArea:', array('rows' => 3'cols' => 20));
    $form->addElement('password''ipwdTest''Test Password:');
    $form->addElement('checkbox''ichkTest''Test CheckBox:''Check the box');
    $form->addElement('radio''iradTest''Test Radio Buttons:''Check the radio button #1'1);
    $form->addElement('radio''iradTest''(Not a group)''Check the radio button #2'2);
    $form->addElement('button''ibtnTest''Test Button', array('onclick' => "alert('This is a test');"));
    $form->addElement('reset''iresTest''Test Reset');
    $form->addElement('submit''isubTest''Test Submit');
    $form->addElement('image''iimgTest''http://pear.php.net/gifs/pear-icon.gif');
    $select =& $form->addElement('select''iselTest''Test Select:', array('A'=>'A''B'=>'B','C'=>'C','D'=>'D'));
    $select->setSize(5);
    $select->setMultiple(true);

    $form->addElement('header''''Custom Elements');
    // Date elements
    $form->addElement('date''dateTest1''Date1:', array('format'=>'dmY''minYear'=>2010'maxYear'=>2001));
    $form->addElement('date''dateTest2''Date2:', array('format'=>'d-F-Y H:i''language'=>'de''optionIncrement' => array('i' => 5)));
    $form->addElement('date''dateTest3''Today is:', array('format'=>'l d M Y'));

    $main[0] = "Pop";
    $main[1] = "Rock";
    $main[2] = "Classical";

    $secondary[0][0] = "Belle & Sebastian";
    $secondary[0][1] = "Elliot Smith";
    $secondary[0][2] = "Beck";
    $secondary[1][3] = "Noir Desir";
    $secondary[1][4] = "Violent Femmes";
    $secondary[2][5] = "Wagner";
    $secondary[2][6] = "Mozart";
    $secondary[2][7] = "Beethoven";

    $opts[] = $main;
    $opts[] = $secondary;

    $hs =& $form->addElement('hierselect''ihsTest''Hierarchical select:', array('style' => 'width: 20em;'), '
    '
    );
    $hs->setOptions($opts);

    $form->addElement('advcheckbox''iadvChk', array('Advanced checkbox:''Unlike standard checkbox, this element [b]has[/b] a value
    when it is not checked.'
    ), 'Check the box'null, array('off''on'));

    $form->addElement('autocomplete''iautoComp', array('Your favourite fruit:''This is autocomplete element.
    Start typing and see how it suggests possible completions.'
    ), array('Pear''Orange''Apple'), array('size' => 30));


    $form->addElement('header''''Grouped Elements');
    // Grouped elements
    $name['last'] = &HTML_QuickForm::createElement('text''last'null, array('size' => 30));
    $name['first'] = &HTML_QuickForm::createElement('text''first'null, array('size' => 20));
    $form->addGroup($name'name''Name (last, first):'',');
    // Creates a group of text inputs
    $areaCode = &HTML_QuickForm::createElement('text'''null, array('size' => 3'maxlength' => 3));
    $phoneNo1 = &HTML_QuickForm::createElement('text'''null, array('size' => 3'maxlength' => 3));
    $phoneNo2 = &HTML_QuickForm::createElement('text'''null, array('size' => 4'maxlength' => 4));
    $form->addGroup(array($areaCode$phoneNo1$phoneNo2), 'phoneNo''Telephone:''-');

    // Creates a radio buttons group
    $radio[] = &HTML_QuickForm::createElement('radio'nullnull'Yes''Y');
    $radio[] = &HTML_QuickForm::createElement('radio'nullnull'No''N');
    $form->addGroup($radio'iradYesNo''Yes/No:');

    // Creates a checkboxes group
    $checkbox[] = &HTML_QuickForm::createElement('checkbox''A'null'A');
    $checkbox[] = &HTML_QuickForm::createElement('checkbox''B'null'B');
    $checkbox[] = &HTML_QuickForm::createElement('checkbox''C'null'C');
    $form->addGroup($checkbox'ichkABC''ABC:''
    '
    );
    // Creates a group of buttons to be displayed at the bottom of the form
    $buttons[] = &HTML_QuickForm::createElement('submit'null'Submit');
    $buttons[] = &HTML_QuickForm::createElement('reset'null'Reset');
    $buttons[] = &HTML_QuickForm::createElement('image''iimgTest''http://pear.php.net/gifs/pear-icon.gif');
    $buttons[] = &HTML_QuickForm::createElement('button''ibutTest''Test Button', array('onClick' => "alert('This is a test');"));
    $form->addGroup($buttonsnullnull''false);


    // applies new filters to the element values
    $form->applyFilter('__ALL__''trim');
    // Adds some validation rules
    $form->addRule('itxtTest''Test Text is a required field''required');
    $form->addRule('itxaTest''Test TextArea is a required field''required');
    $form->addRule('itxaTest''Test TextArea must be at least 5 characters''minlength'5);
    $form->addRule('ipwdTest''Password must be between 8 to 10 characters''rangelength', array(810));

    // Tries to validate the form
    if ($form->validate()) {
        
    // Form is validated, then processes the data
        
    $form->freeze();
        
    $form->process('myProcess'false);
        echo 
    "\n<HR>\n";
    }

    // Process callback
    function myProcess($values)
    {
        echo 
    '<pre>';
        
    var_dump($values);
        echo 
    '</pre>';
    }

    $form->display();
    ?>

  10. #10
    Grazie mille Nicola.
    Nei prossimi giorni lavoro permettendo proverò a vedere cosa riesco a fare.
    Grazie ancora
    Franco

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.