PEAR-Verzeichnis-problem unter Windows
Habe ich heruntergeladen, das ZIP-Archiv von PHP und extrahiert es unter meinem Profil. Ich brauchte dann einige PEAR-Pakete. go-pear.bat
anscheinend installiert BIRNE ganz gut, ich brauchte nur zu gehen, in die pear.bat
- Datei danach und passen Sie den Pfad zu php.exe
– keine große Sache, und danach lief es.
Jedoch, wenn ich versuche etwas zu installieren, bekomme ich folgenden Fehler:
ERROR: failed to mkdir C:\php5\pear\data\Console_CommandLine\data
Natürlich kein Schreibzugriff erlaubt ist, in das root-Verzeichnis, aber ich bin ein wenig ratlos, zu wissen, wie genau BIRNE denkt, es sollte alles installieren an einem Ort, der weder existiert noch konfiguriert ist überall. PHP derzeit befindet sich irgendwo unten H:\
(subst ' ed auf meinem Profil). Alle Pfade, die ich eingegeben, während PEAR installation waren gesund und der einzige Ort, den ich finden kann C:\php5
ist in PEAR/go-pear.phar
und in der Dokumentation. Einer von denen ist etwas, was ich nicht sowieso ändern, denke ich und die andere Sache ist kaum relevant für das Programm selbst.
Nun, ich könnte wahrscheinlich gehen in und machen C:\php5
eine junction/symlink zu dem Verzeichnis, wo die PHP liegt derzeit oder tatsächlich installieren Sie es in dieser Position – beides Dinge, die ich lieber vermeiden, da dies war ursprünglich nur gedacht für einen kleinen test etwas.
Ich da sah in pear help install
und anscheinend kann ich verwenden -P
oder -R
so dass einige Pfade. Der genaue Unterschied zwischen denen ist mir noch immer unklar, aber es wird nicht Schaden, um zu versuchen, Sie, denke ich. Irgendwie waren die Ergebnisse ... unerwartete:
-P H:\Downloads\php\PEAR
führte in der fun-Fehler (unter anderem)
ERROR: failed to mkdir C:\Downloads\php\PEAR\php5\pear\data\Console_CommandLine\data
während -R
mit dem gleichen Pfad (offenbar -R
diktiert, wo downloads gespeichert werden, da das war, bevor ich denke, ich sollte dieses nicht berühren), führte zu noch mehr Spaß:
download-Verzeichnis "C:\Downloads\php\PEAR\Users\JOHANN~1\AppData\Local\Temp\pear\download" ist nicht beschreibbar. Ändern download_dir config-variable, um eine beschreibbare dir
Mittlerweile Schätze ich beide C:\
und php5
sind irgendwo hardcoded ohne ersichtlichen Grund (meine Umgebungsvariablen enthalten auch nichts in der Art) also werde ich gehen Sie Graben erneut, dieses mal auf der Suche für kürzere Zeichenfolge und daher mehr Ergebnis-Listen.
Aber wenn jemand eine Idee hat, über dieses in der Zwischenzeit, könnte dies hilfreich sein.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, dass die BIRNE sieht für seine ini-Datei im Windows-Verzeichnis, und weil es nicht finden, es, es, es-resorts, zu erraten, die Lage. Noch schlimmer, Sie können nicht ändern, die Konfiguration von Einstellungen mit
pear config-set
weil BIRNE nicht eine Birne.ini zu schreiben. Zur gleichen Zeit, BIRNE ignoriert eine vorhandene Birne.ini-Datei in seinem eigenen Verzeichnis. Es ist eine Schweinerei. Sehen Sie diese bug-report.Wenn es nur eine Globale PEAR Installation, PEAR gesagt werden kann, wo eine ini-Datei, indem Sie einer environment-Variablen,
PHP_PEAR_SYSCONF_DIR
, auf das richtige Verzeichnis zeigt.Aber wenn es mehrere, lokale PEAR installiert haben, müssen Sie die patch-Birne.bat, durch hinzufügen dieser Zeile:
IF "%PHP_PEAR_SYSCONF_DIR%"=="" SET "PHP_PEAR_SYSCONF_DIR=C:\path\to\pear.ini\directory"
Etwas bessere option als michael h ' s Antwort sein könnte:
Öffnen
$prefix\pear\PEAR\Config.php
wo$prefix
ist der Wert in den PEAR-installer. (Auf meinem Windows-system$prefix
warC:\php\5.4.0
)Finden Sie im Abschnitt unten:
Und die folgenden änderungen vornehmen:
Diese Lösung ist weniger gefährdeten beim Umgang mit mehreren PHP/PEAR-Versionen/Installationen, vor allem, wenn mehr als einer zur gleichen Zeit, wie Sie vermeiden Umwelt-Stress.
Offenbar die PEAR-Entwickler übersehen Sie die Tatsache, dass
WINDOWS
,Program Files
und Freunde haben schon veraltet als application-data-Verzeichnisse seit Windows Vista und sind in der Regel nicht mehr beschreibbar durch nicht-erhöhten-Anwendungen. (Aus guten Sicherheitsgründen.)Blick auf die
config-...
Parameter der BIRNE Befehl:Vermute ich
C:\php5
wird die eingebaute Standard-Verzeichnis, wenn Sie nicht setzen eine andere.config-show
Erträge ziemlich viele Einstellungen, zeigen Sie aufC:\php5\something
. Nun brauche ich nur noch herausfinden, wie ich sagen kann, BIRNE, um saubere Speicherort für die Konfigurationsdatei. Erwartet einen Benutzer config-Datei inC:\Windows
ist wohl das seltsamste, das ich in einer Weile gesehen habe.pear
aus einem Unterverzeichnis vonC:` and giving a path on the
C: "- Laufwerk, um die-P
option gearbeitet, offenbar.können Sie die config-Datei über
Ich habe das gleiche problem. Meine config-Datei fehlte der
C:\Windows
Verzeichnis - es ist definitiv etwas falsch mit der go-pear installer - I angegeben eine andereINI
Speicherort der Datei, aber mein Wunsch hat sich nicht bewahrheitet.Ich kopiert
pear.ini
zuC:\windows
aus und alles begann zu arbeiten.Wenn Ihre PHP-installation, die getan hat, die irgendwo anderes als das Laufwerk C:\, dann "pear install" - Befehl können Fehler auslösen.
Beispiel: Hier in meinem Fall, der xampp installiert ist, als Laufwerk E:\ und die "pear install" wirft Fehler.
Fehler habe wenn ich den Befehl ausführen. Dies passiert auch für den PHPDocumentor
Lösung:
Ich bekomme in der "Birne" - Verzeichnis und aktiviert config eingestellten Werte für verschiedene pear-Verzeichnisse. Alle wurden auf Laufwerk C:\ standardmäßig. Also, wir brauchen, um diese Einstellungen ändern zu richtigen Pfad.
Öffnen Sie die Eingabeaufforderung "als administrator Ausführen" Modus.
Pear Standard-Einstellung
Ändern Sie nun fünf Pfad im xampp wie diese
Wenn Sie das Laufwerk " C " und immer die gleichen Fehler dann auch die obige Aussage bleibt dieselbe nur ersetzen, das den Namen der Festplatte E:\ auf C:\ Umgekehrt.
Beispiel für Laufwerk C:
Dann drücken Sie die EINGABETASTE, es erscheint eine Fehlermeldung der config-set succeeded
Wie das Sie eingeben müssen 5 Befehle.
config-set succeeded
config-set succeeded
config-set succeeded
config-set succeeded
config-set succeeded
Schließlich installiert Birne