2009-05-15 11 views
8

Ich bin grundsätzlich neu zu PEAR (und PhpDocumentor); Ich installierte PhpDocumentor die PEAR CLI verwenden, und alles schien zu gehen, in Ordnung ... bis ich es verwenden ging, an welcher Stelle ich die folgende Fehlermeldung anzeigt:PhpDocumentor installiert über PEAR auf OSX funktioniert nicht - fehlende Dateien?

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 

ich nicht alles online über den Fehler gefunden , also habe ich über die Befehlszeile wieder ohne Fehler deinstalliert/installiert, aber ich bekomme das gleiche Problem. Habe ich etwas übersehen? Wie ich schon sagte ich bin ziemlich neu in PEAR :)

Danke. D

Antwort

0

Gibt es PhpDocumentor/phpDocumentor/phpdoc.inc? Existiert es in/usr/share/pear? Wenn die Antworten "Ja" bzw. "Nein" lauten, müssen Sie den Pfad zu PhpDocumentor hinzufügen.

Lange Rede kurzer Sinn, finden Sie phpdoc.inc, und arbeiten Sie dann von dort.

+0

Hallo dort. Danke für die Antwort. Ich habe es mir mal angesehen ... nein, phpdoc.inc scheint nirgends zu existieren. Noch existiert das Verzeichnis/usr/share/pear Hmm. Dodgy Birne Installation vielleicht? Tatsächlich habe ich nur einige der installierten Pakete überprüft. MDB2 wird zum Beispiel installiert, aber ein require_once in einem Skript löst einen schwerwiegenden Fehler aus. Ich habe wahrscheinlich keinen Include-Pfad oder etwas festgelegt? –

4

Um herauszufinden, wo PEAR Dinge bringt, führen Sie pear config-show. Wenn PEAR zuvor gesagt hat, dass PhpDocumentor erfolgreich für Sie installiert wurde, sollte die gesuchte Datei im Wert php_dir gefunden werden (auf meinem Mac ist dies /usr/lib/php/PEAR).

Es ist notwendig, dass dieser php_dir Wert in Ihrem include_path für die meisten PEAR-Pakete gesetzt wird, damit er ordnungsgemäß funktioniert. Da /usr/share/pear scheint in Ihrem include_path zu sein, wie nach dem Fehler, den Sie oben enthalten, würde ich raten müssen, dass Ihre PEAR-Installation php_dir an einem anderen Speicherort gesetzt hat.

Wenn Sie nun Ihre PEAR-Installation so ändern möchten, dass sie auf /usr/share/pear zeigt, müssen Sie etwas darüber wissen, wie PEAR installiert wird. Viele Pakete verwenden install-time text replacement, wodurch die Einstellungen Ihrer Installation in den Code des Pakets selbst übernommen werden. Wenn Sie auf Ihre Ausgabe pear config-show zurückblicken, sehen Sie mehrere andere * _dir-Einstellungen (data_dir, bin_dir, www_dir usw.). Es ist also wichtig, dass diese so eingestellt werden, wie Sie möchten, BEVOR Sie Ihre Pakete installieren. Mach dir keine Sorgen, es ist nicht zu spät für die Pakete, die Sie bereits installiert haben. Um die PEAR-Einstellungen zu ändern, verwenden Sie pear config-set (setting name) (setting value), wie pear config-set php_dir /usr/share/pear. Da nur php_dir unbedingt in Ihrem include_path sein muss, können Sie die anderen Einstellungen wahrscheinlich so lassen, wie sie sind. Normalerweise sorge ich dafür, dass alle in das gleiche Stammverzeichnis zeigen, nur um alles an einem Ort zu halten.

Sobald Sie eine dieser Einstellungen ändern, sollten Sie ein pear update von jedem Paket, das Sie bereits installiert haben, ausführen. Was dies tun wird ist, dass install-time text replacement ich bereits erwähnt, aber dieses Mal wird die Einstellungen, die aktuell sind, d. H. Diejenigen, die Sie gerade fertig eingestellt haben. Führen Sie dies auf dem PEAR-Hauptpaket zuerst, pear update --force pear ... Sie müssen die --force Flag enthalten, weil PEAR wird realisieren, die Sie mich bitten, das Paket zu aktualisieren, wenn es bereits "aktuell" ist und sich selbst stoppen. Sobald Sie diese update für alle installierten Pakete ausgeführt haben, werden Ihre Dateien in der PEAR-Installation an der Stelle platziert, an der Ihre aktuelle include_path sie erwartet.

4

Nun, diese Frage ist komisch alt, aber ich hatte gerade das gleiche Problem und löste es nach viel Kopfschütteln, also dachte ich, ich würde teilen.

Ich lief pear config-show als @ashnazg detaillierte und meine php_dir ist auf /usr/lib/php festgelegt. Ich habe versucht, phpdoc -h von dort zu laufen und - voila! -- es funktionierte. Das Problem für mich war, dass PHP diesen Weg kennen musste. Ich habe php.ini (was für mich in /private/etc/php.ini ist) bearbeitet und include_path bearbeitet, um /usr/lib/php einzuschließen. Mein sah dann so aus:

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

Danach funktioniert es wie ein Charme! Hoffe, das hilft jemand anderem da draußen. FWIW, ich bin auf Snow Leopard und ich habe phpdoc installiert, indem ich sudo pear install phpdocumentor ausgeführt habe.

+0

Danke dafür! Ich hatte das gleiche Problem bei Mountain Lion. Es muss sein, dass der verwendete Standardpfad für Linux gedacht ist (was Sinn machen würde), und das ist unter OS X anders. – Bendihossan