Hola a todos, hoy migrando una aplicación de server GNU Linux a server Windows en FirmWare que venimos desarrollando sobre el FrameWork de PHP Symfony , nos hemos dado cuenta que la variable $_SERVER[“DOCUMENT_ROOT”] en Internet Information Server IIS no funciona.

Ahora la solución:


<?php
if ( ! isset($_SERVER['DOCUMENT_ROOT'] ) ){
$_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr(

$_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF']) ) );
}

?>

En este sencillo paso se comprueba si existe la variable y si no existe como sucede en IIS entonces procedemos a armar la variable con las rutas simples que nos ofrece php

1.  $_SERVER[‘SCRIPT_FILENAME’]: Indica el acceso absoluto al script en ejecución.

2.  $_SERVER[‘PHP_SELF’]: El nombre del fichero que contiene el script que se esta ejecutando, relativo al directorio raíz de los documentos.

Para más información la siguiente url es un excelente sitio para comenzar:

http://php.net/manual/es/reserved.variables.server.php