web-dev-qa-db-fra.com

Obtenir PEAR travailler sur XAMPP (pile Apache/MySQL sous Windows)

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

  1. PEAR est situé dans C:\xampplite\php\pear
  2. 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?

9
Donnie Thomas

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.

21
user7075

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é.

8
Reid Johnson

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

4
Alex Rapso

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)

1
THEMike

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.

0
bluestraggler

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'
0
Sietse

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
0
mpalencia