Foros del Web » Programando para Internet » PHP »

DOCUMENT_ROOT en IIS

Estas en el tema de DOCUMENT_ROOT en IIS en el foro de PHP en Foros del Web. Hola, estoy tratando de usar la variable de servidor DOCUMENT_ROOT con un IIS y simplemente cada vez q la intento usar me manda el mensaje ...
  #1 (permalink)  
Antiguo 16/05/2006, 12:42
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 12 años, 2 meses
Puntos: 0
DOCUMENT_ROOT en IIS

Hola, estoy tratando de usar la variable de servidor DOCUMENT_ROOT con un IIS y simplemente cada vez q la intento usar me manda el mensaje "Notice: Undefined index: DOCUMENT_ROOT in.... " por o que he leido parece que dicha variable no funciona en IIS, entonces mi pregunta es: hay alguna manera de usar algo similar???

Saludos
  #2 (permalink)  
Antiguo 16/05/2006, 13:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En los comentarios de los usuarios de las variables reservadas de PHP (entre ellas las de servidor accesibles por $_SERVER) .. se comenta:

http://www.php.net/reserved.variables

Cita:
info at meshkaat dot com
06-Dec-2005 03:03
How to get $_SERVER["DOCUMENT_ROOT"] on IIS :

if(!isset($_SERVER["DOCUMENT_ROOT"]))
{$_SERVER["DOCUMENT_ROOT"]=substr($_SERVER['SCRIPT_FILENAME'] , 0 , -strlen($_SERVER['PHP_SELF'])+1 );
}

it simply works!
Revisa esos comentarios .. al parecer hay más soluciones al respecto. Pruebalas y nos comentas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 17/05/2006, 10:21
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 12 años, 2 meses
Puntos: 0
Solución!!!

Al fin!!!

Pues bien, aqui esta como lo hice, GRACIAS CLUSTER

Checando la pagina que puso cluster encontre que en efecto dicha variable DOCUMENT_ROOT no funciona en IIS por lo que se puede obtener usando el siguiente codigo:

<?php
if ( ! isset($_SERVER['DOCUMENT_ROOT'] ) )
$_SERVER['DOCUMENT_ROOT'] = str_replace( '\\', '/', substr(
$_SERVER['SCRIPT_FILENAME'], 0, 0-strlen($_SERVER['PHP_SELF']) ) );
?>

Ya lo probe y funciona bien, pero realmente no solucionaba mi problema, ya que lop que quiero hacer es usar el contro SPAW, y dicho componente usa la variable DOCUMENT_ROOT por todos lados, ademas, creo que mi servidor web funciona con apache.. asi que me puse a pensar (cosa rara.. ) y me di cuenta que seria un relajo pues tendria que hacer doble programacion, una para mi localhost que usa IIS y otra para mi servidor web que usa apache... afortunadamente encontre algo buenisimo que en lo personal me ayudo mucho, y es que la variable DOCUMENT_ROOT si puede funcionar en IIS, solo es cosa de agregarla a las variables de windows jojo... es truco, pero funciona para programar en el localhost, hacer las pruebas necesarias y luego subir a un servidor web
Para agregar la variable es con lo siguiente:

Mi pc --- propiedades ---- opciones avanzadas ----- variables de entorno ---- en "variables de sistema" le damos en nueva --- Nombre de variable: DOCUMET ROOT (sin guion bajo) y en Valor de variable escribimos la ruta de datos de nuestro servidor IIS en este caso le puse: C:\Inetpub\wwwroot

Reiniciamos y Voila!!!! ya funcionan los scripts que usen dicha variable....

Espero les sirva esta información.

Saludos y un cuack para todos.. Cuuuuack!
  #4 (permalink)  
Antiguo 17/05/2006, 10:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues así es .. está listo el tema para hacer una FAQ .. sobre todo por qué tenemos las dos soluciones: para cuando no podemos alterar la configuración del servidor (usaríamos la versión "código" php) y si podemos alterar la configuración del servidor ... en ese caso definimos la variable de entorno.

La otra solución es usar Apache xDDD

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:14.