Heim >PHP-Framework >Denken Sie an PHP >Verwendung eines statischen Dateiservers in ThinkPHP6
Mit der rasanten Entwicklung des Internets sind statische Ressourcenserver zu einem wichtigen Bestandteil der Webanwendungsentwicklung geworden. Der statische Ressourcenserver ist hauptsächlich für die Speicherung und Verteilung statischer Ressourcen (wie Bilder, JS, CSS und andere Dateien) verantwortlich und bietet Benutzern ein schnelleres und stabileres Zugriffserlebnis. In der PHP-Entwicklung bietet ThinkPHP6 als beliebtes MVC-Framework einige integrierte Funktionen, die uns beim schnellen Aufbau eines statischen Ressourcenservers helfen.
Denken Sie über statische Ressourcen in ThinkPHP nach.
In ThinkPHP6 können wir Anforderungen für statische Ressourcen mithilfe einiger integrierter Funktionen und Klassen problemlos verarbeiten. ThinkPHP kann standardmäßig statische Ressourcenanforderungen unter /public/ verarbeiten, sodass Anforderungen für Verzeichnisse wie /static/, /images/, /css/ und /js direkt verarbeitet werden können. In der Datei /public/index.php werden die Kerndateien von ThinkPHP vorgestellt und die Verarbeitungslogik statischer Ressourcen definiert:
if (is_file(__DIR__ . '/../public' . $_SERVER['REQUEST_URI'])) { return false; }
Wenn die angeforderte URL eine Datei ist und sich die Datei im Verzeichnis /public/ befindet, dann Dies wird nicht der Fall sein Nach der Routing-Analyse und der Controller-Verarbeitung wird diese Datei direkt zurückgegeben. Dies liegt daran, dass auf Ressourcen im Verzeichnis /public/ direkt zugegriffen werden kann, ohne Routing-Regeln zu ihrer Auflösung zu verwenden. Wenn Sie den Pfad des Verzeichnisses /public/ anpassen müssen, können Sie natürlich die Variable public_root in der Datei config/app.php ändern. Beispiel:
'public_root' => __DIR__ . '/../assets/',
Dadurch wird das Assets-Verzeichnis im Stammverzeichnis der Anwendung als Stammverzeichnis des Verzeichnisses /public/ angegeben, anstatt das Standardverzeichnis /public/ zu verwenden.
So verwenden Sie CDN für den Zugriff auf statische Dateien
Um den Datenverkehr und die Zugriffsgeschwindigkeit besser zu optimieren, laden wir in tatsächlichen Bereitstellungsumgebungen normalerweise statische Dateien zur Speicherung und Verteilung zu einem CDN-Anbieter (Content Delivery Network) hoch. Einfach ausgedrückt ist CDN ein Netzwerk, das mehrere Knoten zum Zwischenspeichern und Verteilen statischer Ressourcen verwendet. Wenn Benutzer auf Ressourcen zugreifen, können sie Ressourcen vom nächstgelegenen Knotenserver abrufen und so eine schnellere und stabilere Benutzererfahrung bieten. Um in ThinkPHP6 über CDN auf statische Dateien zuzugreifen, müssen Sie entsprechende Konfigurationen in der Konfigurationsdatei vornehmen.
Zuerst müssen Sie den Hostnamen des CDN ändern, zum Beispiel den ursprünglichen /public/static-Ressourcenpfad ändern in:
http://cdn.example.com/static/
Dann finden Sie in der Datei config/app.php die beiden Variablen app.url_html_suffix und app.static_domain und ändern Ihre Werte werden wie folgt geändert:
'url_html_suffix' => '.html', 'static_domain' => 'http://cdn.example.com',
Auf diese Weise werden der CDN-Hostname und der statische Domänenname konfiguriert und .html wird als pseudostatisches Suffix verwendet, wenn die statische Ressourcenanforderung eintrifft , das Framework stimmt überein, basierend auf dem URL-Präfix des Parameters static_domain, und gibt die entsprechende Datei direkt im CDN zurück.
Wenn Sie CDN-Zugriff auf die Dateien im Assets-Verzeichnis benötigen, können Sie beim Zugriff den folgenden Link verwenden:
http://cdn.example.com/assets/images/logo.jpg
In diesem Fall erfolgt der Zugriff auf die statischen Dateien über den CDN-Namen cdn.example.com. Bei einigen CDN-Anbietern können Sie die Zugriffsmethode auch durch Anpassen des HTTP-Antwortheaders festlegen, zum Beispiel:
Cache-Control: max-age=31536000,public
Dieser Antwortheader teilt dem Browser mit, dass diese Datei zwischengespeichert werden kann, und macht sie für eine Stunde gültig.
Zusammenfassung
Der statische Ressourcenserver ist ein wesentlicher Bestandteil der Webanwendungsentwicklung. Insbesondere wenn die Anzahl der Besuche relativ groß ist, ist die Verwendung von CDN für den Zugriff unbedingt erforderlich. In ThinkPHP6 können wir den Hostnamen und den statischen Domänennamen des CDN einfach konfigurieren und einige einfache Funktionen und Klassen verwenden, um Anforderungen für statische Ressourcen zu verarbeiten, wodurch die Geschwindigkeit und Erfahrung des Benutzerzugriffs verbessert wird.
Das obige ist der detaillierte Inhalt vonVerwendung eines statischen Dateiservers in ThinkPHP6. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!