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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top