Domanda

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

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

Avvertimento:require_once(PEAR.php) [funzione.require-once]:Fallimento nell'apertura del flusso:Nessun file o directory di questo tipo in C:\xampplite\htdocs\laconica\lib\common.php alla riga 31

Errore fatale:require_once() [funzione.require]:Apertura non riuscita richiesta 'PEAR.php' (include_path='.;\xampplite\php\pear\PEAR') in C:\xampplite\htdocs\laconica\lib\common.php alla riga 31

  1. PERA 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 viene inclusa?

È stato utile?

Soluzione

Devi sistemare il tuo include_path variabile di sistema in modo che punti alla posizione corretta.

Per risolverlo modifica il file php.ini file.In quel file troverai una riga che dice: "include_path = ...".(Puoi scoprire qual è la posizione di php.ini eseguendo phpinfo() su una pagina.) Correggi la parte della riga che dice: "\xampplite\php\pear\PEAR" leggere "C:\xampplite\php\pear".Assicurati di lasciare il punto e virgola prima e/o dopo la riga al loro posto.

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

Altri suggerimenti

Se stai utilizzando l'installazione XAMPP portatile e Windows 7 e, come me, hai la versione dopo aver rimosso la shell XAMPP dal pannello di controllo, nessuna delle risposte suggerite qui ti sarà di grande aiuto poiché i pacchetti non verranno installati.

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

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

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

ti consigliamo di sostituire ":" con la lettera dell'unità effettiva su cui è attualmente in esecuzione l'unità portatile.Sfortunatamente, questo deve essere fatto ogni volta che cambia la lettera di unità, ma è stato installato il modulo di cui avevo bisogno.

Ho provato prima tutte le altre risposte, ma nessuna sembrava funzionare, quindi ho impostato staticamente il percorso di Pear nel file di configurazione di Pear

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 sostituiscilo con questo:

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

Ho riavviato Apache e ho utilizzato il comando:

pear config-all 

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

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

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

Mettendoli uno sopra l'altro si vede chiaramente che uno è troppo lungo:

c:\xampplite\php\pera\

\xampplite\php\pear\PEAR

Il tuo percorso di inclusione è impostato per andare una PEAR troppo in profondità nell'albero di pere.La sottocartella PEAR della cartella Pear include il componente PEAR.È necessario modificare il percorso di inclusione salendo di un livello.

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

Prova ad aggiungere la lettera dell'unità:

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

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

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

Un altro trucco per questo tipo di problema:evitare di eseguire Pear all'interno di una shell Unix (ad esempio Git Bash o Cygwin) su un computer 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 pepper funziona come previsto.

Su Windows utilizzare il Guscio Xampp (c'è un pulsante "Shell" nel pannello di controllo XAMPP)

Poi

cd php\pear

per andare su 'C:\xampp\php\pear'

quindi digitare

pear

ho sistemato

Avast elimina il tuo server.php nella tua directory, quindi disabilita l'antivirus

controlla il file (server.php) nella tua cartella laravel

server.php

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylor@laravel.com>
 */

$uri = urldecode(
    parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)
);

// This file allows us to emulate Apache's "mod_rewrite" functionality from the
// built-in PHP web server. This provides a convenient way to test a Laravel
// application without having installed a "real" web server software here.
if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) {
    return false;
}

require_once __DIR__.'/public/index.php';

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top