Ich versuche Laconica , eine Open-Source Microblogging-Anwendung auf meinem Windows-Entwicklungsserver unter Verwendung von XAMPP gemäß Anleitungen zur Verfügung gestellt .
Die Website kann PEAR nicht finden und gibt die folgenden Fehler aus:
Warnung: require_once (PEAR.php) [function.require-once]: Stream konnte nicht geöffnet werden: Keine solche Datei oder kein Verzeichnis in C: \ xampplite \ htdocs \ laconica \ lib \ common.php in Zeile 31
Schwerwiegender Fehler: require_once () [function.require]: Fehler beim Öffnen von 'PEAR.php' (include_path = '.; \ xampplite \ php \ pear \ PEAR') in C: \ xampplite \ htdocs \ laconica \ lib \ common.php in Zeile 31
C:\xampplite\php\pear
phpinfo()
zeigt mir, dass der Include-Pfad .;\xampplite\php\pear
ist
Was mache ich falsch? Warum ist der PEAR-Ordner nicht enthalten?
Sie müssen Ihre include_path
Systemvariable so korrigieren, dass sie auf den richtigen Ort zeigt.
Um es zu beheben, bearbeiten Sie die Datei php.ini
. In dieser Datei finden Sie die Zeile " include_path = ...
". (Sie können herausfinden, wo sich php.ini befindet, indem Sie phpinfo()
auf einer Seite ausführen.) Fixieren Sie den Teil der Zeile, der sagt " \xampplite\php\pear\PEAR
" lautet " C:\xampplite\php\pear
". Achten Sie darauf, die Semikolons vor und / oder nach der Linie an Ort und Stelle zu lassen.
Starten Sie PHP neu und Sie sollten gut gehen. Um PHP in IIS neu zu starten, können Sie den Ihrer Site zugewiesenen Anwendungspool neu starten oder, noch besser, IIS alle zusammen neu starten.
Wenn Sie die portable XAMPP-Installation und Windows 7 verwenden und, wie ich, die Version nach dem Entfernen der XAMPP-Shell über das Control Panel haben, wird keine der hier vorgeschlagenen Antworten Ihnen gut tun, da die Pakete nicht installiert werden.
Das Problem liegt in der Konfigurationsdatei. Ich habe nach vielen Versuchen die richtigen Einstellungen gefunden.
Ziehen Sie einfach ein Befehlsfenster im Verzeichnis \ xampp \ php hoch und führen Sie
aus %Vor%Sie werden das ':' durch den tatsächlichen Laufwerksbuchstaben ersetzen, auf dem Ihr tragbares Laufwerk gerade läuft. Leider muss dies jedes Mal gemacht werden, wenn sich dieser Laufwerksbuchstabe ändert, aber es hat das Modul, das ich installieren musste, bekommen.
Ich habe zuerst alle anderen Antworten ausprobiert, aber keiner von ihnen schien zu funktionieren, also setzte ich den Birnenpfad statisch in der Birnenkonfigurationsdatei
C: \ xampp \ php \ pear \ Konfig.php
finde diesen Code:
%Vor%und ersetzen Sie es einfach mit:
%Vor%Ich habe Apache neu gestartet und den Befehl:
verwendet %Vor%Stellen Sie sicher, dass alle Pfade nicht mehr mit C: \ php \ pear
beginnenWie in Punkt 1 ist Ihr PEAR-Pfad 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 eine zu lang ist:
c: \ xampplite \ php \ Birne \
\ xampplite \ php \ birne \ PEAR
Ihr Include-Pfad ist so eingestellt, dass er eine BIRNE zu tief in den Birnbaum führt. Der PEAR-Unterordner des Pear-Ordners enthält die PEAR-Komponente. Sie müssen Ihren Include-Pfad um eine Ebene nach oben anpassen.
(Sie brauchen nicht das c: Übrigens ist Ihr Weg in Ordnung, wie es ist, einfach zu tief)
Ein weiteres Problem für diese Art von Problem: Vermeiden Sie, Pear innerhalb einer Unix-Shell (z. B. Git Bash oder Cygwin) auf einem Windows-Rechner auszuführen. Ich hatte das gleiche Problem und die oben vorgeschlagene Pfadfixierung hat nicht geholfen. Auf eine Windows-Shell umgeschaltet, und der Befehl birnen funktioniert wie erwartet.