it-swarm.it

Ottenere PEAR lavorare su XAMPP (stack Apache/MySQL su Windows)

Sto cercando di installare Laconica , un'applicazione di microblogging open source sul mio server di sviluppo Windows usando XAMPP come istruzioni fornite .

Il sito Web non riesce a trovare PEAR e genera gli errori seguenti:

Attenzione: require_once (PEAR.php) [function.require-once]: impossibile aprire lo stream: nessun file o directory in C:\xampplite\htdocs\laconica\lib\common.php sulla linea 31

Errore irreversibile: require_once () [function.require]: apertura fallita richiesta 'PEAR.php' (include_path = '.;\Xampplite\php\pear\PEAR') in C:\xampplite\htdocs\laconica\lib\common. php on line 31

  1. PEAR si trova in C:\xampplite\php\pear
  2. phpinfo() mi mostra che il percorso di inclusione è .;\xampplite\php\pear

Che cosa sto facendo di sbagliato? Perché la cartella PEAR non è inclusa?

9
Donnie Thomas

Devi correggere la variabile di sistema include_path in modo che punti alla posizione corretta. 

Per risolvere il problema, modifica il file php.ini. In quel file troverai una riga che dice "include_path = ...". (Puoi scoprire quale sia la posizione di php.ini eseguendo phpinfo() su una pagina.) Risolvi la parte della riga che dice "\xampplite\php\pear\PEAR" per leggere "C:\xampplite\php\pear". Assicurati di lasciare il punto e virgola prima e/o dopo la linea in posizione.

Riavvia PHP e dovresti essere bravo a farlo. Per riavviare PHP in IIS puoi riavviare il pool di applicazioni assegnato al tuo sito o, meglio ancora, riavviare IIS tutti insieme.

21
user7075

Se si sta utilizzando l'installazione XAMPP portatile e Windows 7, e, come me, dopo aver rimosso la shell XAMPP dal pannello di controllo come me, nessuna delle risposte suggerite qui vi farà molto bene, poiché i pacchetti non verranno installati.

Il problema è con il file di configurazione. Ho trovato le impostazioni corrette dopo un sacco di tentativi ed errori.

Basta aprire una finestra di comando nella directory\xampp\php ed eseguire

pear config-set doc_dir :\xampp\php\docs\PEAR
pear config-set cfg_dir :\xampp\php\cfg
pear config-set data_dir :\xampp\php\data\PEAR
pear config-set test_dir :\xampp\php\tests
pear config-set www_dir :\xampp\php\www

dovrai sostituire ":" con la lettera di unità effettiva su cui è in esecuzione l'unità portatile al momento. Sfortunatamente, questo deve essere fatto ogni volta che questa lettera di unità cambia, ma ha ottenuto il modulo che avevo bisogno di installare.

8
Reid Johnson

Ho provato prima tutte le altre risposte, ma nessuna sembrava funzionare, quindi ho impostato il percorso della pera in modo statico nel file di configurazione della pera

C:\xampp\php\pear\config.php

trova questo codice:

if (!defined('PEAR_INSTALL_DIR') || !PEAR_INSTALL_DIR) {
    $PEAR_INSTALL_DIR = PHP_LIBDIR . DIRECTORY_SEPARATOR . 'pear';
} 
else {
    $PEAR_INSTALL_DIR = PEAR_INSTALL_DIR;
}

e basta sostituirlo con questo:

$PEAR_INSTALL_DIR = "C:\\xampp\\php\\pear";

Ho riavviato Apache e ho usato il comando:

pear config-all 

assicurati che tutti i percorsi non inizieranno più con C:\php\pear

4
Alex Rapso

Come per il punto 1, il percorso PEAR è c:\xampplite\php\pear \

Tuttavia, il tuo percorso punta a\xampplite\php\pear\PEAR

Mettendo i due sopra l'altro si può chiaramente vedere uno è troppo lungo:

c:\xampplite\php\pear \

\ Xampplite\php\pear\PEAR

Il tuo percorso di inclusione è impostato per andare a uno PEAR troppo in profondità nel pero. La sottocartella PEAR della cartella pera include il componente PEAR. È necessario regolare il percorso di inclusione verso l'alto di un livello.

(non hai bisogno del c: a proposito, il tuo percorso va bene così com'è, troppo profondo)

1
THEMike

Un altro trucco per questo tipo di problema: evitare di eseguire la pera all'interno di una shell Unix (ad es., Git Bash o Cygwin) su una macchina Windows. Ho avuto lo stesso problema e la correzione del percorso suggerita sopra non ha aiutato. Passato a una shell di Windows, e il comando pera funziona come previsto.

0
bluestraggler

Prova ad aggiungere la lettera di unità:

include_path='.;c:\xampplite\php\pear\PEAR'

verifica anche che PEAR.php sia effettivamente lì, potrebbe essere in\php\invece:

include_path='.;c:\xampplite\php'
0
Sietse

Su Windows usa Xampp Shell (c'è un pulsante 'Shell' nel tuo pannello di controllo XAMPP)

poi

cd php\pear

andare a 'C:\xampp\php\pear'

quindi digita

pear
0
mpalencia