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?
| |||
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? |
| |||
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, |
| |||
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):
Iniciado por reyesoft ![]() 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: open_basedir restriction in effect. Ahora si pongo toda la URL funciona perfecto: Código PHP: ![]() Gracias de antemano. 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:
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
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: 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.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: 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! |
| |||
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? |