J'essaie d'installer Laconica , une application de micro-blogging open source sur mon serveur de développement Windows à l'aide de XAMPP, conformément aux instructions fournies .
Le site Web ne trouve pas PEAR et renvoie les erreurs ci-dessous:
Avertissement: require_once (PEAR.php) [function.require-once]: échec de l'ouverture du flux: aucun fichier ou répertoire de ce type dans C:\xampplite\htdocs\laconica\lib\common.php à la ligne 31
Erreur fatale: require_once () [function.require]: l'ouverture a échoué, il a été demandé 'PEAR.php' (include_path = '.\Xampplite\php\pear\PEAR') dans C:\xampplite\htdocs\laconica\lib\common. php sur la ligne 31
C:\xampplite\php\pear
phpinfo()
m'indique que le chemin d'inclusion est .;\xampplite\php\pear
Qu'est-ce que je fais mal? Pourquoi le dossier PEAR n'est-il pas inclus?
Vous devez corriger votre variable système include_path
pour qu'elle pointe vers l'emplacement correct.
Pour résoudre ce problème, éditez le fichier php.ini
. Dans ce fichier, vous trouverez une ligne qui dit "include_path = ...
". (Vous pouvez trouver l'emplacement de php.ini en exécutant phpinfo()
sur une page.) Corrigez la partie de la ligne qui dit "\xampplite\php\pear\PEAR
" pour lire "C:\xampplite\php\pear
". Assurez-vous de laisser les points-virgules avant et/ou après la ligne en place.
Redémarrez PHP et vous devriez être prêt à partir. Pour redémarrer PHP dans IIS, vous pouvez redémarrer le pool d'applications attribué à votre site ou, mieux encore, redémarrer IIS ensemble.
Si vous utilisez l'installation portable XAMPP et Windows 7 et que, comme moi, la version après avoir supprimé XAMPP Shell du panneau de configuration, aucune des réponses suggérées ne vous fera beaucoup de bien, car les packages ne seront pas installés.
Le problème vient du fichier de configuration. J'ai trouvé les paramètres corrects après de nombreux essais et erreurs.
Ouvrez simplement une fenêtre de commande dans le répertoire\xampp\php et lancez
pear config-set doc_dir :\xampp\php\docs\PEAR
pear config-set cfg_dir :\xampp\php\cfg
pear config-set data_dir :\xampp\php\data\PEAR
pear config-set test_dir :\xampp\php\tests
pear config-set www_dir :\xampp\php\www
vous voudrez remplacer le ':' par la lettre de lecteur réelle sur laquelle votre lecteur portable est en cours d'exécution. Malheureusement, cela doit être fait à tout moment si cette lettre de lecteur change, mais le module dont j'avais besoin était installé.
J'ai essayé toutes les autres réponses d'abord mais aucune ne semblait fonctionner, alors j'ai défini le chemin de poire de manière statique dans le fichier de configuration de poire
C:\xampp\php\pear\Config.php
trouvez ce code:
if (!defined('PEAR_INSTALL_DIR') || !PEAR_INSTALL_DIR) {
$PEAR_INSTALL_DIR = PHP_LIBDIR . DIRECTORY_SEPARATOR . 'pear';
}
else {
$PEAR_INSTALL_DIR = PEAR_INSTALL_DIR;
}
et juste le remplacer par ceci:
$PEAR_INSTALL_DIR = "C:\\xampp\\php\\pear";
J'ai redémarré Apache et utilisé la commande:
pear config-all
assurez-vous que tous les chemins ne commencent plus par C:\php\pear
Comme pour le point 1, votre chemin PEAR est c:\xampplite\php\pear \
Cependant, votre chemin pointe vers\xampplite\php\pear\PEAR
En plaçant les deux l'un au dessus de l'autre, vous voyez clairement que l'un est trop long:
c:\xampplite\php\pear \
\ xampplite\php\pear\PEAR
Votre chemin d’inclusion est configuré pour aller un PEAR trop profondément dans le poirier. Le sous-dossier PEAR du dossier pear contient le composant PEAR. Vous devez ajuster votre chemin d'inclusion d'un niveau.
(vous n'avez pas besoin du c: au fait, votre chemin est parfait tel quel, tout simplement trop profond)
Un autre problème pour ce type de problème: évitez de lancer pear dans un shell Unix (par exemple, Git Bash ou Cygwin) sur une machine Windows. J'ai eu le même problème et la solution proposée ci-dessus n'a pas aidé. Basculé sur un shell Windows, la commande pear fonctionne comme prévu.
Essayez d'ajouter la lettre de lecteur:
include_path='.;c:\xampplite\php\pear\PEAR'
vérifiez également que PEAR.php est réellement présent, il se peut qu'il se trouve dans\php\à la place:
include_path='.;c:\xampplite\php'
Sous Windows, utilisez Xampp Shell (il y a un bouton 'Shell' dans votre panneau de configuration XAMPP)
puis
cd php\pear
aller à 'C:\xampp\php\pear'
puis tapez
pear