2009-05-15 13 views
8

Sono fondamentalmente nuovo di PEAR (e PhpDocumentor); Ho installato phpDocumentor utilizzando il CLI PEAR, e tutto sembrava andare bene ... fino a quando sono andato a usarlo, a quel punto ho ottenuto il seguente errore:PhpDocumentor installato tramite PEAR su OSX non funzionante - file mancanti?

Warning: require(PhpDocumentor/phpDocumentor/phpdoc.inc): 
failed to open stream: No such file or directory in 
/usr/local/bin/phpdoc on line 40 

Fatal error: require(): Failed opening required 
'PhpDocumentor/phpDocumentor/phpdoc.inc' (include_path='.:/usr/share/pear') 
in /usr/local/bin/phpdoc on line 40 

non riuscivo a trovare qualche cosa in linea sull'errore , quindi ho disinstallato/reinstallato tramite la riga di comando di nuovo senza errori, ma sto ricevendo lo stesso problema. Ho trascurato qualcosa? Come ho già detto che sono abbastanza nuovo per PEAR :)

Grazie. D

risposta

0

PhpDocumentor/phpDocumentor/phpdoc.inc esiste? Esiste in/usr/share/pera? Se le risposte sono rispettivamente "sì" e "no", allora devi aggiungere qualsiasi cosa dir sia PhpDocumentor al tuo percorso di inclusione.

Per farla breve, trova phpdoc.inc, quindi lavora da lì.

+0

Ciao. Grazie per aver risposto. Ho appena visto ... no, phpdoc.inc non sembra esistere da nessuna parte. Né esiste il dir/usr/share/pera Hmm. Installazione di pera Dodgy forse? In realtà, ho appena controllato alcuni dei pacchetti installati. MDB2 è installato per esempio, ma un require_once in uno script genera un errore fatale. Probabilmente non ho impostato un percorso di inclusione o qualcosa del genere? –

4

Per capire dove PEAR sta mettendo le cose, eseguire pear config-show. Se PEAR aveva detto in precedenza di aver installato con successo phpDocumentor per voi, allora il file che state cercando dovrebbe essere trovato nel valore dell'impostazione php_dir (sul mio Mac, questo è /usr/lib/php/PEAR).

È necessario che questo valore php_dir sia impostato nel percorso include per il corretto funzionamento di molti pacchetti PEAR. Dal momento che /usr/share/pear sembra essere nel vostro include_path, come per l'errore è stato incluso in precedenza, avrei dovuto intuire che l'installazione PEAR ha il suo php_dir insieme a qualche altra posizione.

Ora, se si desidera modificare l'installazione PEAR in modo che punti a /usr/share/pear, è necessario capire qualcosa su come PEAR installa le cose. Molti pacchetti utilizzano install-time text replacement, che inserisce le impostazioni della TUA installazione nel codice del pacchetto stesso. Se si guarda indietro al vostro pear config-show uscita, vedrete diverse altre impostazioni _DIR * (data_dir, bin_dir, www_dir, ecc). Quindi, è importante che siano impostati come li vuoi PRIMA di installare i pacchetti. Non preoccupatevi però, è non è troppo tardi per i pacchetti installati già.

Per modificare le impostazioni PEAR, utilizzare pear config-set (setting name) (setting value), come pear config-set php_dir /usr/share/pear. Dal momento che solo php_dir è assolutamente necessario essere nel tuo include_path, puoi probabilmente lasciare le altre impostazioni così come sono. Di solito mi assicuro che puntino tutti nella stessa directory root, solo per tenere tutto in una posizione complessiva.

Dopo aver modificato QUALSIASI di queste impostazioni, è necessario eseguire uno pear update di ogni pacchetto che si è già installato. Ciò che questo farà è eseguire quello install-time text replacement che ho menzionato in precedenza, ma questa volta userà le impostazioni che sono correnti, cioè quelle che hai appena finito di impostare. Esegui prima questo pacchetto principale PEAR, pear update --force pear ... devi includere il flag --force perché PEAR realizzerà mi stai chiedendo di aggiornare il pacchetto quando è già 'corrente' e si interrompe. Una volta eseguito questo update per TUTTI i pacchetti installati, l'installazione di PEAR avrà i suoi file posizionati dove si aspetta che il tuo attuale include_path li trovi.

4

Bene, questa domanda è comicamente vecchia, ma ho appena avuto lo stesso problema e l'ho risolto dopo un sacco di graffi così ho pensato di condividere.

Ho eseguito pear config-show come @ashnazg dettagliato e il mio php_dir è impostato su /usr/lib/php. Ho provato a eseguire phpdoc -h da lì e - voilà! -- ha funzionato. Quindi il problema per me era che PHP aveva bisogno di conoscere questo percorso. Ho modificato php.ini (che per me è in /private/etc/php.ini) e modificato include_path per includere /usr/lib/php. Il mio quindi sembrava:

include_path = ".:/usr/lib/php" 

Dopo, funziona come un incantesimo! Spero che questo aiuti qualcun altro là fuori. FWIW, sono su Snow Leopard e ho installato phpdoc eseguendo sudo pear install phpdocumentor.

+0

Grazie per quello! Ho avuto lo stesso problema su Mountain Lion. Deve essere che il percorso predefinito utilizzato è destinato a Linux (che avrebbe senso) e che è diverso su OS X. – Bendihossan

Problemi correlati