Foros del Web » Programando para Internet » PHP »

open_basedir restriction in effect

Estas en el tema de open_basedir restriction in effect en el foro de PHP en Foros del Web. He creado un script en PHP que intenta acceder a un directorio, pero me aparece el error: open_basedir restriction in effect ¿como se puede quitar ...
  #1 (permalink)  
Antiguo 03/03/2005, 17:25
 
Fecha de Ingreso: agosto-2004
Mensajes: 513
Antigüedad: 19 años, 8 meses
Puntos: 5
open_basedir restriction in effect

He creado un script en PHP que intenta acceder a un directorio, pero me aparece el error: open_basedir restriction in effect

¿como se puede quitar ese error y poder acceder al directorio? ¿configurando el fichero php.ini?
  #2 (permalink)  
Antiguo 04/03/2005, 06:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Pero que "directorio" pretendes acceder? (indica el código y ruta completa que pretendes usar, tampoco estaría de más mencionar donde "cae" tu "DOCUMENT ROOT" en ese servidor).

Esa restricción .. afecta a que directorios puede acceder PHP .. o mejor dicho desde que "rama" hacia abajo puede acceder PHP .. normalmente debería ser tu "open_base_dir" (en tu php.ini .. busca esa directiva) = al DOCUMENT_ROOT (puedes verlo en un phpinfo() o en tu httpd.conf si usas Apache como servidor HTTP). Si dejas que PHP pueda acceder a directorios desde el raiz de tu servidor (para tener acceso a todo) .. puedes tener graves problemas de seguridad (de hecho mucho servicio de hosting está mal configurado así .. permitiendo un acceso total y .. en servicios de hosting "compartido" puedes ir a "mirar" un archivo que está hubicado en otro directorio de ese servidor= otro sitio que aloje ese servidor).

También el "safe_mode" afecta a que zona del servidor puede acceder PHP (php.ini) ..

En otras ocasiones .. si usas por ejemplo copy() cuando haces un "uplad" de un archivo vía PHP .. en lugar de esa función deberías usar move_uploaded_file() pues es la función que puede mover ese archivo que queda "fuera" de lo que pueda decir "open_base_dir" (donde indica y sube los archivos temporalmente PHP cundo lo haces por HTTP: upload_tmp_dir de tu php.ini)

Un saludo,
  #3 (permalink)  
Antiguo 04/11/2006, 10:27
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 18 años, 1 mes
Puntos: 15
Compañeros, yo tengo exactamente el mismo problema y estoy muy seguro de que el problema es el PHP.INI.

Si utilizo
Código PHP:
include 'archivo.inc.php'
no funciona y muestra el siguiente error:
open_basedir restriction in effect.

Ahora si pongo toda la URL funciona perfecto:
Código PHP:
include $_SERVER['DOCUMENT_ROOT'].'/archivo.inc.php'
¿Alguien es tan sabio y amable de decirme por donde puede estar el problema?

Gracias de antemano.
  #4 (permalink)  
Antiguo 04/11/2006, 20:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Cita:
Iniciado por reyesoft Ver Mensaje
Compañeros, yo tengo exactamente el mismo problema y estoy muy seguro de que el problema es el PHP.INI.

Si utilizo
Código PHP:
include 'archivo.inc.php'
no funciona y muestra el siguiente error:
open_basedir restriction in effect.

Ahora si pongo toda la URL funciona perfecto:
Código PHP:
include $_SERVER['DOCUMENT_ROOT'].'/archivo.inc.php'
¿Alguien es tan sabio y amable de decirme por donde puede estar el problema?

Gracias de antemano.
Si dices que un "include()" a un archivo tipo "aqui.php" no te funciona .. lo más probable sea que en la directiva (php.ini):

open_base_dir =

No esté incluido el "." (punto) que indica "desde el directorio que se llame". Esto lo puedes verificar en tu php.ini o phpinfo() .. y sobre todo si te funciona algo como:

Código PHP:
include './archivo.inc.php'
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 06/11/2006, 10:11
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 18 años, 1 mes
Puntos: 15
Cluster, muy agradecido.

Anduvo a la perfección. Faltaba la directiva open_basedir.

Última edición por reyesoft; 06/11/2006 a las 10:21 Razón: el problema sí había sido resuelto.
  #6 (permalink)  
Antiguo 27/01/2007, 12:32
 
Fecha de Ingreso: enero-2007
Mensajes: 146
Antigüedad: 17 años, 3 meses
Puntos: 16
Re: open_basedir restriction in effect

Hola a todos!

Tengo exactamente el mismo problema que se comenta mas arriba, pero no he dado con la solución.
Cita:
Si dices que un "include()" a un archivo tipo "aqui.php" no te funciona .. lo más probable sea que en la directiva (php.ini):

open_base_dir =

No esté incluido el "." (punto) que indica "desde el directorio que se llame". Esto lo puedes verificar en tu php.ini o phpinfo() .. y sobre todo si te funciona algo como:
Como comenta el amigo Cluster, el "." (punto) no está incluido en la directiva open_base_dir =, ya que he seguido el ejemplo que ha comentado, y funciona a la perfección.
La cuestión quizá sea absurda, pero cómo añado dicha directiva? como cualquier otra despues de los ":" (dos puntos)??

Gracias por vuestra ayuda.

Un saludo!
  #7 (permalink)  
Antiguo 05/11/2013, 15:40
 
Fecha de Ingreso: febrero-2006
Mensajes: 3
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: open_basedir restriction in effect

Buenas, creo que tengo un problema similar, y leyendo las explicaciones que aqui dieron no llegue a la solución. tal vez porque no sé nada de nada de .php, o tal vez porque estoy tratando de solucionar el problema de un joomla.

La historia viene así, el joomla estaba funcionando, pero hoy dejo de hacerlo, y al intentar ingresar, me aparece este error:


Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/home/coichaco/public_html/coi/defines.php) is not within the allowed path(s): (1) in /home/coichaco/public_html/coi/index.php on line 13

Warning: require_once() [function.require-once]: open_basedir restriction in effect. File(/home/coichaco/public_html/coi/includes/defines.php) is not within the allowed path(s): (1) in /home/coichaco/public_html/coi/index.php on line 19

Warning: require_once(/home/coichaco/public_html/coi/includes/defines.php) [function.require-once]: failed to open stream: Operation not permitted in /home/coichaco/public_html/coi/index.php on line 19

Fatal error: require_once() [function.require]: Failed opening required '/home/coichaco/public_html/coi/includes/defines.php' (include_path='.:/usr/lib/php') in /home/coichaco/public_html/coi/index.php on line 19

Me fije si las files están en la misma carpeta, que ninguna contenga ningún error, pero no encontre cual puede ser la solución. Me fije el php.ini como vi que decían en una respuesta anterior, y lo único que dice es:

safe_mode = On

disable_functions = None

safe_mode_gid = OFF

open_basedir = On

allow_url_fopen = On





Alguna idea?
  #8 (permalink)  
Antiguo 05/11/2013, 15:50
Avatar de reyesoft  
Fecha de Ingreso: abril-2006
Ubicación: San Rafael, Mendoza
Mensajes: 311
Antigüedad: 18 años, 1 mes
Puntos: 15
Respuesta: open_basedir restriction in effect

Cita:
Iniciado por elpendex05 Ver Mensaje
safe_mode = On

disable_functions = None

safe_mode_gid = OFF

open_basedir = On

allow_url_fopen = On
Comenta con un ; al incio la línea de open_basedir. Yo la tengo comentada, me parece raro que diga On.

Un saludo...
__________________
Pablo Reyes

Compra/venta saldos PayPal, Skrill, Neteller, Bitcoins, etc.
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 12:36.