/ Var / www / Ordnerstruktur für PHP-Projekt
Frage
Ich bin mit MAMP nur für meine Entwicklungsumgebung und verstanden haben, nicht wirklich die Ordnerstruktur von / var / www / Projektname / auf einem Webserver. Ich frage mich, ob Sie den Webserver an den htdocs Ordner zeigen gemeint sind oder es soll an die Wurzel des Projektordners zeigen?
Der Grund, warum ich frage ist, weil Bibliotheken außerhalb des htdocs Ordner für Sicherheitszwecke existieren sollen, aber wie wiesen sie von der Web-Anwendung selbst? Sicherlich ist die Web-Anwendung kann nicht Ordner zugreifen außerhalb des htdocs Ordner, wenn der Web-Server auf den htdocs Ordner für die Web-Anwendung zeigt?
Lösung
Eine einfache Lösung ist eine Ordnerstruktur wie so hat:
/var/www/project-name/
+ webroot/
+ libraries/
Gehen Sie mit Ihrem apache2 DocumentRoot
zum webroot
Verzeichnis. Halten Sie alle Bibliotheken, die Sie nicht aus der Bahn im libraries
Verzeichnis zugänglich werden sollen. In Ihrem PHP-Code, verwenden Sie die Richtlinie gehören die Bibliotheken Code zugreifen zu können.
Der Trick ist, dass PHP zu verstehen, jede Datei auf Ihrem System enthalten kann sie den Zugang zu lesen hat. Eine Person, die Ihre Website Surfen kann nur Dateien zugreifen in Ihrem Webroot-Verzeichnis.
Andere Tipps
Wenn Sie mehrere vhosts auf demselben Server haben, ist es ziemlich üblich, in einem Verzeichnis unter /var/www
jeden Standort zu haben, und jeder von ihnen hat einen htdocs
Ordner, die als Web-Root angebracht ist. Sie können dann über Protokolle und anwendungsspezifische Bibliotheken in einem Ordner über dem Web-Root. Zum Beispiel:.
/var/www/lolcats.com
/var/www/lolcats.com/htdocs
/var/www/lolcats.com/htdocs/index.php
/var/www/lolcats.com/lib
/var/www/lolcats.com/log
kann PHP eine Datei zuzugreifen in dem Dateisystem, für die die Apache-Server Benutzer die richtigen Berechtigungen verfügen. Auf einer Linux-Box Apache ohne virtuelle Hosts läuft, / var / www ist ein gemeinsamer Ort für Ihr htdocs-Verzeichnis zu verwenden.
Sie stellen die Bibliotheken in PHP include_path
das ist unzugänglich für die Benutzer.
Es ist eine googd Idee, um Ihre lokalen Webseiten in den Verzeichnissen in der gleichen Art und Weise wie Sie Ihre Domains Arbeit abzubilden.
Oft haben Sie mehrere Websites auf einem einzigen Web-Hosting-Account, so Setup virtuelle Hosts das Setup zu spiegeln.
Wenn Ihr Shared Hosting ist:
/var/www/root
/var/www/root/website1
/var/www/root/website2
/var/www/root/website3
Erstellen 3 vitual Hosts auf dem lokalen PC, sondern hält eine identische Datei-Struktur.
Verwenden Sie auch Bedingungen in Ihren Konfigurationsdateien zur Einrichtung der Website deifferently abhängig von der Server-Dateistruktur, die gleiche Konfigurationsdatei auf beiden Setups arbeitet, um sicherzustellen. Das heißt, Sie halten Ihr Ein-Schritt-Build-Prozess.