it-swarm-eu.dev

Bekommen PEAR auf XAMPP arbeiten (Apache/MySQL-Stack unter Windows)

Ich versuche, Laconica zu installieren, eine Open-Source-Microblogging-Anwendung auf meinem Windows-Entwicklungsserver, die XAMPP gemäß den bereitgestellten Anweisungen verwendet.

Die Website kann PEAR nicht finden und wirft die folgenden Fehler aus:

Warnung: required_once (PEAR.php) [function.require-once]: Stream konnte nicht geöffnet werden: Keine solche Datei oder Verzeichnis in C:\xampplite\htdocs\laconica\lib\common.php in Zeile 31

Schwerwiegender Fehler: requir_once () [function.require]: Fehler beim Öffnen der Datei 'PEAR.php' (include_path = '.;\Xampplite\php\pear\PEAR') in C:\xampplite\htdocs\laconica\lib\common. php in Zeile 31

  1. PEAR befindet sich in C:\xampplite\php\pear
  2. phpinfo() zeigt mir an, dass der Include-Pfad .;\xampplite\php\pear ist.

Was mache ich falsch? Warum ist der Ordner PEAR nicht enthalten?

9
Donnie Thomas

Sie müssen Ihre include_path-Systemvariable so korrigieren, dass sie auf die richtige Position verweist. 

Um das Problem zu beheben, bearbeiten Sie die php.ini-Datei. In dieser Datei finden Sie eine Zeile mit der Aufschrift "include_path = ...". (Sie können herausfinden, wo sich die php.ini befindet, indem Sie phpinfo() auf einer Seite ausführen.) Korrigieren Sie den Teil der Zeile "\xampplite\php\pear\PEAR", um "C:\xampplite\php\pear" zu lesen. Stellen Sie sicher, dass die Semikolons vor und/oder nach der Linie stehen.

Starten Sie PHP neu, und es sollte Ihnen gut gehen. Um PHP in IIS neu zu starten, können Sie den Anwendungspool, der Ihrer Site zugewiesen ist, oder, noch besser, IIS alle zusammen neu starten.

21
user7075

Wenn Sie die portable XAMPP-Installation und Windows 7 verwenden und wie ich die Version habe, nachdem sie die XAMPP-Shell aus dem Control Panel entfernt haben, wird Ihnen keine der hier vorgeschlagenen Antworten gut tun, da die Pakete nicht installiert werden.

Das Problem liegt bei der Konfigurationsdatei. Ich habe die korrekten Einstellungen nach vielem Ausprobieren gefunden.

Rufen Sie einfach ein Befehlsfenster im Verzeichnis\xampp\php auf und führen Sie es aus

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

sie möchten das ':' durch den tatsächlichen Laufwerksbuchstaben ersetzen, auf dem Ihr tragbares Laufwerk gerade ausgeführt wird. Dies muss leider immer dann gemacht werden, wenn sich dieser Laufwerkbuchstabe ändert. Das benötigte Modul wurde jedoch installiert.

8
Reid Johnson

Ich habe zuerst alle anderen Antworten ausprobiert, aber es schien keine zu funktionieren, also habe ich den Birnenpfad statisch in der Birnen-Konfigurationsdatei eingestellt

C:\xampp\php\pear\Config.php

finde diesen Code:

if (!defined('PEAR_INSTALL_DIR') || !PEAR_INSTALL_DIR) {
    $PEAR_INSTALL_DIR = PHP_LIBDIR . DIRECTORY_SEPARATOR . 'pear';
} 
else {
    $PEAR_INSTALL_DIR = PEAR_INSTALL_DIR;
}

und ersetzen Sie es einfach mit diesem:

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

Ich habe Apache neu gestartet und den Befehl verwendet:

pear config-all 

stellen Sie sicher, dass alle Pfade nicht mehr mit C:\php\pear beginnen

4
Alex Rapso

Wie in Punkt 1 lautet der Pfad PEAR: c:\xampplite\php\pear \

Ihr Pfad zeigt jedoch auf\xampplite\php\pear\PEAR

Wenn Sie die beiden übereinander legen, können Sie deutlich sehen, dass eins zu lang ist:

c:\xampplite\php\pear \

\ xampplite\php\pear\PEAR

Ihr Include-Pfad ist so eingestellt, dass er einen PEAR zu tief in den Birnbaum geht. Der Unterordner PEAR des Birnenordners enthält die Komponente PEAR. Sie müssen Ihren Include-Pfad um eine Ebene anpassen.

(Du brauchst das c nicht: übrigens, dein Weg ist gut so, gerade zu tief)

1
THEMike

Ein weiteres Problem für diese Art von Problem: Vermeiden Sie das Ausführen von pear innerhalb einer Unix-Shell (z. B. Git Bash oder Cygwin) auf einem Windows-Computer. Ich hatte das gleiche Problem und die oben vorgeschlagene Pfadkorrektur hat nicht geholfen. Auf eine Windows-Shell umgestellt, und der Befehl pear funktioniert wie erwartet.

0
bluestraggler

Ich habe es repariert

avast löscht deine server.php in deinem Verzeichnis, also deaktiviere das Antivirusprogramm

überprüfen Sie die Datei (server.php) in Ihrem Ordner laravel

server.php

<?php

/**
 * Laravel - A PHP Framework For Web Artisans
 *
 * @package  Laravel
 * @author   Taylor Otwell <[email protected]>
 */

$uri = urldecode(
    parse_url($_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';
0

Versuchen Sie, den Laufwerksbuchstaben hinzuzufügen:

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

vergewissern Sie sich auch, dass die Datei PEAR.php tatsächlich vorhanden ist. Stattdessen kann es stattdessen in\php\sein:

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

Verwenden Sie unter Windows die Xampp Shell (in Ihrem XAMPP-Kontrollfeld befindet sich eine Schaltfläche "Shell").

dann

cd php\pear

gehe zu 'C:\xampp\php\pear'

dann tippen

pear
0
mpalencia