La raíz del documento PHP es la carpeta donde se ejecuta un script PHP. Al instalar un script, los desarrolladores web a menudo necesitan conocer la raíz del documento. Aunque muchas páginas escritas con PHP se ejecutan en un servidor Apache, algunas se ejecutan bajo Microsoft IIS en Windows. Apache incluye una variable de entorno llamada DOCUMENT_ROOT, pero IIS no. Como resultado, hay dos métodos para localizar la raíz del documento PHP.
En lugar de enviar por correo electrónico soporte técnico para la raíz del documento y esperar que alguien responda, puede usar un script PHP simple con getenv (), que proporciona un acceso directo en los servidores Apache a la raíz del documento.
Estas pocas líneas de código devuelven la raíz del documento.
Internet Information Services de Microsoft se introdujo con Windows NT 3.5.1 y se ha incluido en la mayoría de las versiones de Windows desde entonces, incluidos Windows Server 2016 y Windows 10. No proporciona un acceso directo a la raíz del documento.
Para encontrar el nombre del script que se está ejecutando actualmente en IIS, comience con este código:
print getenv ("SCRIPT_NAME");
que devuelve un resultado similar a:
/product/description/index.php
cuál es el camino completo del guión. No desea la ruta completa, solo el nombre del archivo para SCRIPT_NAME. Para obtenerlo, use:
print realpath (nombre base (getenv ("SCRIPT_NAME")));
que devuelve un resultado en este formato:
/usr/local/apache/share/htdocs/product/description/index.php
Para eliminar el código que hace referencia al archivo relativo al sitio y llegar a la raíz del documento, use el siguiente código al comienzo de cualquier script que necesite conocer la raíz del documento.
$ localpath = getenv ("SCRIPT_NAME");
$ absolutepath = realpath ($ localPath);
// arregla las barras inclinadas de Windows
$ absolutepath = str_replace ("\\", "/", $ absolutepath);
$ docroot = substr ($ absolutepath, 0, strpos ($ absolutepath,
$ localpath));
// un ejemplo de uso
include ($ docroot. "/ incluye / config.php");
Este método, aunque más complejo, se ejecuta en servidores IIS y Apache.