Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] php directorio raiz

Estas en el tema de php directorio raiz en el foro de PHP en Foros del Web. He estado buscando y no he conseguido solucionarlo espero que me puedan ayudar con esto. Tengo el archivo "/var/www/admin/archivo.php" y quiero cambiar el directorio raíz ...
  #1 (permalink)  
Antiguo 22/12/2013, 08:46
 
Fecha de Ingreso: abril-2013
Ubicación: Barcelona
Mensajes: 78
Antigüedad: 11 años, 1 mes
Puntos: 2
php directorio raiz

He estado buscando y no he conseguido solucionarlo espero que me puedan ayudar con esto.

Tengo el archivo "/var/www/admin/archivo.php" y quiero cambiar el directorio raíz de php para que sea "/var/www/" y poder poner "include '/admin/archivo.php'" y que me lo encuentro.

E estado leyendo y por lo que he entendido hay que hacerlo con chroot() pero no consigo que me funcione.

Por lo que también he leído hay que darle permiso de root, como no se como hacerlo lo que hice es darle permiso de root al usuario www-data.

Este es el código que tengo de prueba:
Código PHP:
<img src="/images/Logo2.png">
<?php
include "/admin/archivo.php";
echo 
getcwd();
chroot("/var/www/");
echo 
getcwd()." nueva";
?>
La imagen me la encuentra bien, pero el include no me lo encuentra.
Lo único que me muestra es /var/www, vamos que al segundo echo no llega.

Supongo que sera necesario los datos del servidor:
http://awesomescreenshot.com/02a24jdhb2
  #2 (permalink)  
Antiguo 22/12/2013, 10:50
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: php directorio raiz

Estás confundiendo contextos.

La imagen funciona porque estás indicando la raíz del sitio web, no la raíz del sistema de archivos, ese es el contexto "web" por decirlo así.

En el contexto "SO" (sistema operativo) la misma ruta tiene otro significado pues apunta la raíz del sistema de archivos y por lo no puedes esperar a usar la misma "ruta" del mismo modo.

Inclusive usar chroot() es pésima idea, porque estás especificando siempre una ruta absoluta "/admiin/archivo.php" para el sistema de archivos, así que no importa cuantas veces cambies de carpeta la ruta será la misma y no hay trucos para que signifique otra cosa.

La tećnica correcta sería usar $_SERVER['DOCUMENT_ROOT'] para localizar dichos archivos a través de la ruta raíz del sitio web (la del sistema de archivos).

Código PHP:
Ver original
  1. function path($file) {
  2.   return $_SERVER['DOCUMENT_ROOT'] . "/$file";
  3. }
  4.  
  5. echo path('admin/archivo.php'); # /var/www/admin/archivo.php

¿Se entiende?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/12/2013, 11:23
 
Fecha de Ingreso: abril-2013
Ubicación: Barcelona
Mensajes: 78
Antigüedad: 11 años, 1 mes
Puntos: 2
Respuesta: php directorio raiz

Muchas gracias, se entendió perfectamente.

Etiquetas: directorio, raiz
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 14:54.