Question

J'essaie d'installer Laconica , une application de micro-blogging open source sur mon serveur de développement Windows à l'aide de XAMPP Selon les 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 ni répertoire de ce type dans C: \ xampplite \ htdocs \ laconica \ lib \ common.php à la ligne 31

     

Erreur fatale: require_once () [function.require]: ouverture impossible: 'PEAR.php' (include_path = ';; \ xampplite \ php \ pear \ PEAR') dans C: \ xampplite \ htdocs \ laconica \ lib \ common.php à la ligne 31

  1. PEAR se trouve dans C: \ xampplite \ php \ pear
  2. phpinfo () me montre 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?

Était-ce utile?

La solution

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 indiquant " include_path = ... ". (Vous pouvez connaître 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 tous ensemble.

Autres conseils

Si vous utilisez l’installation portable XAMPP et Windows 7 et que, comme moi, ils ont la version après avoir retiré le shell XAMPP 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 une fenêtre de commande dans le répertoire \ xampp \ php et exécutez

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 chaque fois que cette lettre de lecteur change, mais le module dont j'avais besoin était installé.

J’ai essayé d’abord toutes les autres réponses, mais aucune d’entre elles ne semblant fonctionner, j’ai donc 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 remplacez-le simplement par ceci:

$PEAR_INSTALL_DIR = "C:\\xampp\\php\\pear";

J'ai redémarré Apache et utilisé la commande suivante:

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 enfoncer une poire trop profondément dans le poirier. Le sous-dossier PEAR du dossier pear inclut le composant PEAR. Vous devez ajuster votre chemin d’inclusion jusqu’à un niveau.

(vous n'avez pas besoin du c: au fait, votre chemin est parfait tel quel, tout simplement trop profond)

Essayez d'ajouter la lettre de lecteur:

include_path='.;c:\xampplite\php\pear\PEAR'

vérifie également que PEAR.php est bien présent, il se peut qu'il se trouve dans \ php \ à la place:

include_path='.;c:\xampplite\php'

Autre problème de ce genre 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é vers un shell Windows, la commande pear fonctionne comme prévu.

Sous Windows, utilisez le shell Xampp (un bouton "Shell" apparaît dans votre panneau de configuration XAMPP)

.

puis

cd php\pear

pour aller à 'C: \ xampp \ php \ pear'

puis tapez

pear

j'ai corrigé

avast supprime votre server.php dans votre répertoire alors désactivez l'antivirus

vérifiez le fichier (server.php) dans votre dossier laravel

  

server.php

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <taylor@laravel.com>
 */

$uri = urldecode(
    parse_url(

j'ai corrigé

avast supprime votre server.php dans votre répertoire alors désactivez l'antivirus

vérifiez le fichier (server.php) dans votre dossier laravel

  

server.php

<*>

SERVER['REQUEST_URI'], PHP_URL_PATH) ); // This file allows us to emulate Apache's "mod_rewrite" functionality from the // built-in PHP web server. This provides a convenient way to test a Laravel // application without having installed a "real" web server software here. if ($uri !== '/' && file_exists(__DIR__.'/public'.$uri)) { return false; } require_once __DIR__.'/public/index.php';

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top