POIRE problème de répertoire sur Windows
J'ai téléchargé l'archive ZIP de PHP et l'extraction sous mon profil. J'ai alors besoin de quelques packages PEAR. go-pear.bat
apparemment installé POIRE très bien, j'ai juste besoin d'aller dans le pear.bat
fichier par la suite et d'adapter le chemin d'accès à php.exe
– pas une grosse affaire, et après qu'il a couru.
Cependant, lorsque j'essaie d'installer quelque chose, j'obtiens l'erreur suivante:
D'ERREUR: échec de l'mkdir C:\php5\pear\data\Console_CommandLine\data
Naturellement, pas d'accès en écriture est autorisée dans le répertoire de racine, mais je suis un peu à une perte de savoir exactement comment la POIRE pense qu'il devrait installer quoi que ce soit dans un endroit qui ni n'existe ni n'est configuré n'importe où. PHP se trouve actuellement quelque part en dessous de H:\
(subst ed à mon profil). Tous les chemins que j'entrés lors de l'installation PEAR étaient corrects et le seul endroit où je peux trouver C:\php5
est dans PEAR/go-pear.phar
et dans la documentation. Un de ceux est quelque chose que je ne devrais pas changer de toute façon, je crois, et l'autre chose est de peu d'intérêt pour le programme lui-même.
Maintenant, je pourrais sans doute y aller et faire C:\php5
une jonction/lien symbolique vers le répertoire où PHP se trouve actuellement ou fait installer à cet endroit – les deux choses que je préfère éviter car c'était à l'origine destinés seulement à un petit test de quelque chose.
J'ai depuis le regarda dans les pear help install
et apparemment je peux utiliser -P
ou -R
afin de définir des chemins. La différence exacte entre ceux-ci n'est pas encore clair pour moi, mais il ne fera pas de mal à essayer, je pense. D'une certaine manière les résultats ont été ... inattendu:
-P H:\Downloads\php\PEAR
a entraîné le plaisir d'erreur (entre autres)
D'ERREUR: échec de l'mkdir C:\Downloads\php\PEAR\php5\pear\data\Console_CommandLine\data
tout -R
en utilisant le même chemin (apparemment -R
dicte où les téléchargements sont stockées, puisque les qui a travaillé avant, je suppose que je ne devrais pas y toucher) a entraîné encore plus de plaisir:
répertoire de téléchargement "C:\Downloads\php\PEAR\Users\JOHANN~1\AppData\Local\Temp\pear\download" n'est pas accessible en écriture. Changement download_dir variable de config pour une écriture dir
Maintenant, je suppose que les deux C:\
et php5
sont quelque part codé en dur pour aucune raison apparente (mes variables d'environnement également contenir rien de la sorte) donc je vais aller creuser à nouveau, cette fois à la recherche de chaîne plus courte et donc plus les listes de résultats.
Mais si quelqu'un a une idée à ce sujet dans l'intervalle, cela pourrait être utile.
OriginalL'auteur Joey | 2010-07-15
Vous devez vous connecter pour publier un commentaire.
Le problème est que la POIRE recherche son fichier ini dans le répertoire Windows, et parce qu'il ne veut pas le trouver là, il recourt à deviner l'emplacement. Pire encore, vous ne pouvez pas modifier les paramètres de configuration avec
pear config-set
parce que la POIRE n'est pas une poire.ini pour écrire. Dans le même temps, la POIRE ignore existant de poire.fichier ini dans son propre répertoire. C'est un gâchis. Voir ce rapport de bug.Si il y a juste un mondial de la POIRE installer, la POIRE peut être dit où regarder pour un fichier ini par la création d'une variable d'environnement,
PHP_PEAR_SYSCONF_DIR
, pointant vers le bon répertoire.Mais s'il y a plusieurs locaux de POIRE installe, vous aurez à le patch de la poire.chauve-souris en ajoutant cette ligne:
IF "%PHP_PEAR_SYSCONF_DIR%"=="" SET "PHP_PEAR_SYSCONF_DIR=C:\path\to\pear.ini\directory"
Ce que cette ligne doit être ajoutée au fichier bat?
Ligne 28, dans mon installe. Plus généralement, dans la section intitulée "Vérifier la POIRE mondiale ENV, si elles n'existent pas".
OriginalL'auteur hashchange
Légèrement meilleure option que michael h répondre pourrait être:
Ouvrir
$prefix\pear\PEAR\Config.php
où$prefix
est la valeur utilisée dans la POIRE programme d'installation. (Sur mon système Windows,$prefix
étaitC:\php\5.4.0
)Trouver la section ci-dessous:
Et apporter les modifications suivantes:
Cette solution est moins dangereux lorsqu'ils traitent avec de multiples PHP/PEAR versions/installations, en particulier lors de l'exécution de plus d'un en même temps, tant que vous évitez l'environnement casser.
Apparemment, la POIRE les développeurs négligé le fait que les
WINDOWS
,Program Files
et ses amis ont été déprécié en tant que demande-répertoires de données depuis Windows Vista, et sont généralement plus accessible en écriture par des non-élévation des applications. (Pour de bonnes raisons de sécurité.)OriginalL'auteur Unsigned
Regarder la
config-...
paramètres de la commande PEAR:Je présume
C:\php5
est la builtin répertoire par défaut lorsque vous ne définissez pas un autre.config-show
rendements beaucoup les paramètres de ce point deC:\php5\something
. Maintenant j'ai juste besoin de comprendre comment je peux dire de POIRE à utiliser un sain d'esprit emplacement pour le fichier de configuration. Attend un utilisateur fichier de config dansC:\Windows
est probablement la chose la plus étrange que j'ai vu dans un certain temps.Ok, résolu maintenant. L'exécution de
pear
à partir d'un sous-répertoire deC:` and giving a path on the
C:` en voiture de la-P
option travaillé, apparemment.OriginalL'auteur Álvaro González
vous pouvez spécifier le fichier de configuration via
OriginalL'auteur cweiske
J'ai eu le même problème. Mon fichier de config était absente de la
C:\Windows
directory - il y a certainement quelque chose de mal avec le go-pear installateur - j'ai spécifié un autreINI
emplacement du fichier, mais mon souhait ne s'est pas réalisé.J'ai copié
pear.ini
àC:\windows
et tout a commencé à travailler.OriginalL'auteur pog
Si votre installation de PHP a été fait quelque part d'autre que le lecteur C:\, puis “pear install” commande peut générer des erreurs.
Exemple: Ici, dans mon cas, le xampp a été installé dans le lecteur E:\ et de la “poire installer” déclenche une erreur.
Erreur s'est quand je lance la commande. Cela aussi se produire pour PHPDocumentor
Solution:
Je suis dans la “poire” répertoire et vérifié la config des valeurs pour les différents poire répertoires liés. Tous ont été mis à disque C:\ par défaut. Donc, nous avons besoin de modifier ces paramètres pour corriger la trajectoire.
Ouvrez l'invite de commande "Exécuter en tant qu'administrateur".
Poire paramètre par défaut
Changez maintenant cinq chemin dans xampp comme ce
Si vous utilisez le lecteur C et obtenir la même erreur alors également la déclaration ci-dessus resteront même il suffit de remplacer le nom du lecteur E:\ C:\ vice versa.
exemple pour le lecteur C:
Puis appuyez sur entrée, il affiche un msg d' config-set réussi
Comme cela, vous devez entrer les 5 commandes.
config-set réussi
config-set réussi
config-set réussi
config-set réussi
config-set réussi
Enfin installé, poire
OriginalL'auteur Mr. Piyush Ghosh