PEAR-Verzeichnisproblem unter Windows

8

Ich habe das ZIP-Archiv von PHP heruntergeladen und es unter meinem Profil extrahiert. Ich brauchte dann einige PEAR-Pakete. go-pear.bat hat scheinbar PEAR installiert, ich musste nur in die Datei pear.bat gehen und den Pfad an php.exe anpassen - keine große Sache und danach lief es.

Wenn ich jedoch versuche, etwas zu installieren, bekomme ich den folgenden Fehler:

  

FEHLER: Fehler beim mkdir C: \ php5 \ pear \ data \ Console_CommandLine \ data

Natürlich ist kein Schreibzugriff im Root-Verzeichnis erlaubt, aber ich bin ein wenig ratlos, um zu wissen, wie genau PEAR denkt, dass es irgendetwas an einem Ort installieren soll, der weder existiert noch irgendwo konfiguriert ist. PHP befindet sich derzeit irgendwo unterhalb von H:\ (wurde meinem Profil hinzugefügt). Alle Pfade, die ich während der Installation von PEAR eingegeben habe, waren normal und der einzige Ort, an dem ich C:\php5 finden kann, ist in PEAR/go-pear.phar und in der Dokumentation. Eine davon ist etwas, das ich sowieso nicht ändern sollte, denke ich, und die andere Sache ist für das Programm selbst kaum relevant.

Nun könnte ich wahrscheinlich hineingehen und C:\php5 eine junction / symlink zu dem Verzeichnis machen, in dem PHP momentan liegt oder es tatsächlich an diesem Ort installieren - beide Dinge würde ich eher vermeiden, da dies ursprünglich nur für ein wenig gedacht war Test von etwas.

Ich habe seit in pear help install geschaut und anscheinend kann ich -P oder -R benutzen, also einige Pfade setzen. Der genaue Unterschied zwischen diesen ist mir immer noch unklar, aber es wird nicht schaden, sie zu probieren, denke ich. Irgendwie waren die Ergebnisse ... unerwartet:

-P H:\Downloads\php\PEAR führte (unter anderem) zu dem Fun-Fehler

  

FEHLER: Fehler beim mkdir C: \ Downloads \ PHP \ PEAR \ php5 \ pear \ data \ Console_CommandLine \ data

während -R den gleichen Pfad verwendet (anscheinend -R diktiert, wo Downloads gespeichert werden, da das funktionierte, bevor ich denke, dass ich das nicht anfassen sollte), ergab sich noch mehr Spaß:

  

Download-Verzeichnis "C: \ Downloads \ php \ PEAR \ Benutzer \ JOHANN ~ 1 \ AppData \ Local \ Temp \ pear \ download" ist nicht beschreibbar. Ändern Sie die Konfigurationsvariable download_dir in ein schreibbares Verzeichnis

Inzwischen denke ich, dass sowohl C:\ als auch php5 ohne erkennbaren Grund irgendwo fest programmiert sind (meine Umgebungsvariablen enthalten auch nichts von dieser Art), also werde ich wieder graben, dieses Mal nach kürzerer Zeichenkette suchen und daher länger Ergebnislisten.

Aber wenn jemand in der Zwischenzeit eine Idee dazu hat, könnte das hilfreich sein.

    
Joey 15.07.2010, 11:29
quelle

6 Antworten

19

Das Problem ist, dass PEAR nach seiner Ini-Datei im Windows-Verzeichnis sucht, und weil es dort nicht gefunden wird, greift es auf den Standort zurück. Noch schlimmer, Sie können keine Konfigurationseinstellungen mit pear config-set ändern, da PEAR keine schreibende pear.ini hat. Gleichzeitig ignoriert PEAR eine vorhandene pear.ini-Datei in einem eigenen Verzeichnis. Es ist ein Chaos. Sehen Sie sich diesen Fehlerbericht an.

Wenn es nur eine globale PEAR-Installation gibt, kann PEAR mitgeteilt werden, wo nach einer ini-Datei gesucht werden soll, indem eine Umgebungsvariable, PHP_PEAR_SYSCONF_DIR , erstellt wird, die auf das richtige Verzeichnis zeigt.

Wenn es jedoch mehrere lokale PEAR-Installationen gibt, müssen Sie pear.bat pas- sen, indem Sie folgende Zeile hinzufügen:

IF "%PHP_PEAR_SYSCONF_DIR%"=="" SET "PHP_PEAR_SYSCONF_DIR=C:\path\to\pear.ini\directory"

    
hashchange 18.04.2012 23:57
quelle
4
___ answer3255183 ___

Sehen Sie sich die Parameter $prefix\pear\PEAR\Config.php des PEAR-Befehls an:

%Vor%

Ich nehme an, dass $prefix das eingebaute Standardverzeichnis ist, wenn Sie kein anderes festlegen.

    
___ qstnhdr ___ PEAR-Verzeichnisproblem unter Windows ___ answer3912925 ___

Sie können die Konfigurationsdatei über

angeben %Vor%     
___ answer9019040 ___

Ich hatte das gleiche Problem. Meine Konfigurationsdatei fehlte im $prefix -Verzeichnis - mit dem go-pear-Installer stimmt definitiv etwas nicht - Ich habe einen anderen Speicherort für C:\php.4.0 angegeben, aber mein Wunsch ist nicht in Erfüllung gegangen.

Ich habe WINDOWS nach Program Files kopiert und alles hat angefangen zu arbeiten.

    
___ answer48748668 ___

Wenn Ihre PHP-Installation an einem anderen Ort als dem Laufwerk C: \ erfolgt ist, kann der Befehl "pear install" Fehler auslösen.

Beispiel: In meinem Fall wurde das xampp in das Laufwerk E: \ installiert und die "birne install" löst den Fehler aus.

Fehler beim Ausführen des Befehls. Dies gilt auch für PHPDocumentor Lösung: Ich komme in das "Birne" Verzeichnis und überprüfte config Werte, die für verschiedene birnenbezogene Verzeichnisse eingestellt werden. Alle wurden standardmäßig auf Laufwerk C: \ festgelegt. Also müssen wir diese Einstellungen ändern, um den Pfad zu korrigieren. Öffnen Sie die Eingabeaufforderung im Modus "Als Administrator ausführen".

Birnen-Standardeinstellung Ändern Sie nun fünf Pfade in xampp wie folgt

%Vor%

Wenn Sie C-Laufwerk verwenden und den gleichen Fehler erhalten, dann bleibt auch die obige Anweisung gleich, ersetzen Sie einfach den Laufwerksnamen E: \ zu C: \ umgekehrt. Beispiel für C: Laufwerk

%Vor%

Drücken Sie dann die Eingabetaste. Es wird eine Meldung von config-set succeed

angezeigt

So müssen Sie 5 Befehle eingeben.

%Vor%

config-set erfolgreich

%Vor%

config-set erfolgreich

%Vor%

config-set erfolgreich

%Vor%

config-set erfolgreich

%Vor%

config-set erfolgreich

Endlich installierte Birne

    
___ tag123windows ___ ALLGEMEINER WINDOWS-SUPPORT IST OFF-TOPIC. Support-Fragen können unter https://superuser.com gestellt werden. Windows ist ein von Microsoft entwickeltes Betriebssystem. Verwenden Sie dieses Tag nur, wenn sich Ihre Frage auf die Verwendung von Windows-APIs oder Windows-spezifischem Verhalten in Bezug auf Ihren Code bezieht, nicht nur, weil Sie Ihren Code unter Windows ausführen. ___ tag123php ___ PHP ist eine weit verbreitete, dynamische, objektorientierte und interpretierte Skriptsprache, die primär für die serverseitige Webentwicklung entwickelt wurde. ___ qstntxt ___

Ich habe das ZIP-Archiv von PHP heruntergeladen und es unter meinem Profil extrahiert. Ich brauchte dann einige PEAR-Pakete. %code% hat scheinbar PEAR installiert, ich musste nur in die Datei %code% gehen und den Pfad an %code% anpassen - keine große Sache und danach lief es.

Wenn ich jedoch versuche, etwas zu installieren, bekomme ich den folgenden Fehler:

  

FEHLER: Fehler beim mkdir C: \ php5 \ pear \ data \ Console_CommandLine \ data

Natürlich ist kein Schreibzugriff im Root-Verzeichnis erlaubt, aber ich bin ein wenig ratlos, um zu wissen, wie genau PEAR denkt, dass es irgendetwas an einem Ort installieren soll, der weder existiert noch irgendwo konfiguriert ist. PHP befindet sich derzeit irgendwo unterhalb von %code% (wurde meinem Profil hinzugefügt). Alle Pfade, die ich während der Installation von PEAR eingegeben habe, waren normal und der einzige Ort, an dem ich %code% finden kann, ist in %code% und in der Dokumentation. Eine davon ist etwas, das ich sowieso nicht ändern sollte, denke ich, und die andere Sache ist für das Programm selbst kaum relevant.

Nun könnte ich wahrscheinlich hineingehen und %code% eine junction / symlink zu dem Verzeichnis machen, in dem PHP momentan liegt oder es tatsächlich an diesem Ort installieren - beide Dinge würde ich eher vermeiden, da dies ursprünglich nur für ein wenig gedacht war Test von etwas.

Ich habe seit in %code% geschaut und anscheinend kann ich %code% oder %code% benutzen, also einige Pfade setzen. Der genaue Unterschied zwischen diesen ist mir immer noch unklar, aber es wird nicht schaden, sie zu probieren, denke ich. Irgendwie waren die Ergebnisse ... unerwartet:

%code% führte (unter anderem) zu dem Fun-Fehler

  

FEHLER: Fehler beim mkdir C: \ Downloads \ PHP \ PEAR \ php5 \ pear \ data \ Console_CommandLine \ data

während %code% den gleichen Pfad verwendet (anscheinend %code% diktiert, wo Downloads gespeichert werden, da das funktionierte, bevor ich denke, dass ich das nicht anfassen sollte), ergab sich noch mehr Spaß:

  

Download-Verzeichnis "C: \ Downloads \ php \ PEAR \ Benutzer \ JOHANN ~ 1 \ AppData \ Local \ Temp \ pear \ download" ist nicht beschreibbar. Ändern Sie die Konfigurationsvariable download_dir in ein schreibbares Verzeichnis

Inzwischen denke ich, dass sowohl %code% als auch %code% ohne erkennbaren Grund irgendwo fest programmiert sind (meine Umgebungsvariablen enthalten auch nichts von dieser Art), also werde ich wieder graben, dieses Mal nach kürzerer Zeichenkette suchen und daher länger Ergebnislisten.

Aber wenn jemand in der Zwischenzeit eine Idee dazu hat, könnte das hilfreich sein.

    
___ tag123pear ___ PEAR ist eine Sammlung von PHP-Software-Code, der einige Funktionen bietet, die nicht in den PHP-Kern integriert sind ___ answer10219809 ___

Das Problem ist, dass PEAR nach seiner Ini-Datei im Windows-Verzeichnis sucht, und weil es dort nicht gefunden wird, greift es auf den Standort zurück. Noch schlimmer, Sie können keine Konfigurationseinstellungen mit %code% ändern, da PEAR keine schreibende pear.ini hat. Gleichzeitig ignoriert PEAR eine vorhandene pear.ini-Datei in einem eigenen Verzeichnis. Es ist ein Chaos. Sehen Sie sich diesen Fehlerbericht an.

Wenn es nur eine globale PEAR-Installation gibt, kann PEAR mitgeteilt werden, wo nach einer ini-Datei gesucht werden soll, indem eine Umgebungsvariable, %code% , erstellt wird, die auf das richtige Verzeichnis zeigt.

Wenn es jedoch mehrere lokale PEAR-Installationen gibt, müssen Sie pear.bat pas- sen, indem Sie folgende Zeile hinzufügen:

%code%

    
___
Unsigned 24.04.2012 23:33
quelle
2

Sehen Sie sich die Parameter config-... des PEAR-Befehls an:

%Vor%

Ich nehme an, dass C:\php5 das eingebaute Standardverzeichnis ist, wenn Sie kein anderes festlegen.

    
Álvaro González 15.07.2010 11:41
quelle
2

Sie können die Konfigurationsdatei über

angeben %Vor%     
cweiske 12.10.2010 08:51
quelle
2

Ich hatte das gleiche Problem. Meine Konfigurationsdatei fehlte im C:\Windows -Verzeichnis - mit dem go-pear-Installer stimmt definitiv etwas nicht - Ich habe einen anderen Speicherort für INI angegeben, aber mein Wunsch ist nicht in Erfüllung gegangen.

Ich habe pear.ini nach C:\windows kopiert und alles hat angefangen zu arbeiten.

    
pog 26.01.2012 13:48
quelle
1

Wenn Ihre PHP-Installation an einem anderen Ort als dem Laufwerk C: \ erfolgt ist, kann der Befehl "pear install" Fehler auslösen.

Beispiel: In meinem Fall wurde das xampp in das Laufwerk E: \ installiert und die "birne install" löst den Fehler aus.

Fehler beim Ausführen des Befehls. Dies gilt auch für PHPDocumentor Lösung: Ich komme in das "Birne" Verzeichnis und überprüfte config Werte, die für verschiedene birnenbezogene Verzeichnisse eingestellt werden. Alle wurden standardmäßig auf Laufwerk C: \ festgelegt. Also müssen wir diese Einstellungen ändern, um den Pfad zu korrigieren. Öffnen Sie die Eingabeaufforderung im Modus "Als Administrator ausführen".

Birnen-Standardeinstellung Ändern Sie nun fünf Pfade in xampp wie folgt

%Vor%

Wenn Sie C-Laufwerk verwenden und den gleichen Fehler erhalten, dann bleibt auch die obige Anweisung gleich, ersetzen Sie einfach den Laufwerksnamen E: \ zu C: \ umgekehrt. Beispiel für C: Laufwerk

%Vor%

Drücken Sie dann die Eingabetaste. Es wird eine Meldung von config-set succeed

angezeigt

So müssen Sie 5 Befehle eingeben.

%Vor%

config-set erfolgreich

%Vor%

config-set erfolgreich

%Vor%

config-set erfolgreich

%Vor%

config-set erfolgreich

%Vor%

config-set erfolgreich

Endlich installierte Birne

    
Mr. Piyush Ghosh 12.02.2018 14:24
quelle

Tags und Links