Computerwissenschaften

So finden Sie den PHP-Dokumentstamm

Das Stammverzeichnis des PHP- Dokuments ist der Ordner, in dem ein PHP-Skript ausgeführt wird. Bei der Installation eines Skripts müssen Webentwickler häufig den Dokumentstamm kennen. Obwohl viele mit PHP geschriebene Seiten auf einem Apache-Server ausgeführt werden, werden einige unter Microsoft IIS unter Windows ausgeführt. Apache enthält eine Umgebungsvariable namens DOCUMENT_ROOT, IIS jedoch nicht. Daher gibt es zwei Methoden zum Auffinden des PHP-Dokumentstamms.

 

Finden des PHP-Dokumentstamms unter Apache

Anstatt eine E-Mail an den technischen Support für das Dokumentstammverzeichnis zu senden und darauf zu warten, dass jemand antwortet, können Sie ein einfaches PHP-Skript mit getenv () verwenden. das auf Apache-Servern eine Verknüpfung zum Dokumentstammverzeichnis bereitstellt.

Diese wenigen Codezeilen geben den Dokumentstamm zurück.

 

Suchen des PHP-Dokumentstamms unter IIS

Die Internetinformationsdienste von Microsoft wurden mit Windows NT 3.5.1 eingeführt und sind seitdem in den meisten Windows-Versionen enthalten – einschließlich Windows Server 2016 und Windows 10. Sie enthalten keine Verknüpfung zum Dokumentstamm.

Beginnen Sie mit folgendem Code, um den Namen des aktuell ausgeführten Skripts in IIS zu ermitteln:


print getenv ("SCRIPT_NAME");

Dies ergibt ein ähnliches Ergebnis wie:


/product/description/index.php

Das ist der vollständige Pfad des Skripts. Sie möchten nicht den vollständigen Pfad, sondern nur den Namen der Datei für SCRIPT_NAME. Um es zu bekommen, verwenden Sie:


print realpath (basename (getenv ("SCRIPT_NAME")));

Dies gibt ein Ergebnis in diesem Format zurück:


/usr/local/apache/share/htdocs/product/description/index.php

Verwenden Sie den folgenden Code am Anfang eines Skripts, das den Dokumentstamm kennen muss, um den Code zu entfernen, der auf die standortbezogene Datei verweist, und zum Dokumentstamm zu gelangen.


$ localpath=getenv ("SCRIPT_NAME");

 

$ absolutepath=realpath ($ localPath);

 

// Korrigiere die Windows-Schrägstriche

 

$ absolutepath=str_replace ("\\", "/", $ absolutepath);

 

$ docroot=substr ($ absolutepath, 0, strpos ($ absolutepath,

 

$ localpath));

 

// ein Anwendungsbeispiel

 

include ($ docroot. "/ includes / config.php");

Diese Methode ist zwar komplexer, wird jedoch sowohl auf IIS- als auch auf Apache-Servern ausgeführt.

Similar Posts

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.