Lösung “Dies ist umständlich / 404 Nicht gefundene Fehler” Nach der Installation von der “Zend-expressive”

Arbeiten mit Middleware, in diesem Beitrag werden wir das Problem lösen. “Dies ist umständlich / 404 Nicht gefundene Fehler” Nach der Installation von der “Zend-expressive”.

Problem

Vor kurzem, interessiert zu sehen, wie die Middleware Arbeit, Ich habe die Installation von der “Zend-ausdrucksstark-Skelett” als Leitfaden “Quick-Start: Mit Hilfe des Skeletts + Installateur”:

$ Komponist erstellen-Projekt zendframework/Zend-expressive-Skelett expressive

Nach diesem, um das Ergebnis zu überprüfen, Habe ich den Browser auf die Adresse zugegriffen http://"localhost" / expressive/Public / und bekam die folgende Fehlermeldung:

Oops!
Dies ist umständlich.
 
Wir trafen die 404 Nicht gefundene Fehler.
 
Sie sind auf der Suche ist etwas, dass' t vorhanden oder verschoben. Besuchen Sie eines der Links auf dieser Seite oder zurück zur Startseite.

Lösung

Die Fehlermeldung weist darauf hin, dass die Seite nicht gefunden wurde, Also, Es sah aus wie ein Pfad-Problem (Art und Weise) für die Dateien der Anwendung.

Ein Blick rund um, Ich kam zu dem Schluss, dass dies geschah, weil ich nicht das Projekt erstellt, direkt in das Root-Verzeichnis der Veröffentlichung (Ex: Www/Htdocs /), aber in einem Unterverzeichnis, auf diese Weise: http://"localhost" /expressive/öffentliche /.

Wie auch immer, Es scheint, dass die Expressive haben Sie Schwierigkeiten mit Basis-Url / Basispfad. In der Tat muss die Architektur der Zend Framework-Verzeichnis Reihenfolge der Veröffentlichung “öffentliche /“, so sehr, daß, wenn führen Sie den Web-Server auf “öffentliche /“, die Anwendung funktioniert normal.

Ausführen des Befehls “PHP-S 0.0.0.0:8080 -t-Öffentlichkeit /” vom terminal (Befehl):

Taylor @ Taylor-w64 pc/c/wamp64/Www/expressive
$ PHP-S 0.0.0.0:8080 -t public/
PHP 7.0.10 Entwicklungs-Server gestartet am Do Aug 10 15:55:00 2017
Hören auf http://0.0.0.0:8080
Document-Root ist C:\wamp64\www\expressive\public
Press Ctrl-C to quit.
[Thu Aug 10 15:55:34 2017] 127.0.0.1:65106 [404]: /expressive/Public /

Nun ja, Dabei können Sie auf http://"localhost" / expressive/Public / ohne Fehler.

Aber um nicht zu bekommen, die immer darauf “öffentliche /“, Es ist eine Middleware Los/basepath Lösung-Gliederung. Die Installation ist einfach:

$ Komponist erfordern Los/BasePath

Nach diesem, Fügen Sie einfach die Middleware wie eines der ersten in Ihrer Anwendung. Zum Beispiel, Ich habe den Aufruf der Datei “publicindex.php”, schon bald nach “$App” haben initialisiert:

1
$App->Rohr(Neu \LosMiddlewareBasePathBasePath("expressive/öffentliche"));

Das wars!

Referenz

Zugang/Pfad/zu/öffentliche bekam 404 Seite
Pfad-basierte Middleware für PHP

Total hits: 193

Ein Kommentar zu “Lösung “Dies ist umständlich / 404 Nicht gefundene Fehler” Nach der Installation von der “Zend-expressive”

Hinterlasse eine Antwort

Die e-Mailadresse wird nicht veröffentlicht. Pflichtfelder sind mit gekennzeichnet. *