[INFO] Obtengo el error "open_basedir" en el script PHP. ¿Cómo lo soluciono?

Created:

2016-11-16 13:22:41 UTC

Modified:

2017-08-16 17:11:36 UTC

7

Was this article helpful?


Have more questions?

Enviar una solicitud

[INFO] Obtengo el error "open_basedir" en el script PHP. ¿Cómo lo soluciono?

Applicable to:

  • Plesk for Linux/Unix
  • Plesk 11.5 for Windows

Síntomas

El dominio muestra el error " 404 file not found ". El registro de errores de Apache en el dominio genera lo siguiente:

PHP Warning:  Unknown: open_basedir restriction in effect.  

Causa

Este error indica que el script PHP está intentando acceder a una carpeta cuyo acceso no está autorizado. Por motivos de seguridad, las opciones PHP para dominios alojados en Parallels Plesk Panel sólo permiten acceso por omisión a las carpetas /tmp y http(s)docs . Las restricciones son limitadas por la variable PHP open_basedir de forma independiente para cada host virtual.

Resolución

Si necesita permitir el acceso con scripts PHP de un host virtual determinado a carpeta(s) adicional(es), debería definir la opción 'open_basedir' para el host virtual con el nuevo valor de ruta, separando los nombres de las carpetas con dos puntos tal y como se describe a continuación.

Importante : esta acción puede comprometer su servidor, por lo que debe entender las consecuencias.

Para Parallels Plesk Panel 10.3 y versiones posteriores:

La resolución puede llevarse a cabo mediante el interfaz web de Parallels Plesk Panel. Para más información, consulte el siguiente artículo de nuestra base de conocimiento:

113861 : [Info] Personalización de la configuración PHP para un dominio determinado en Parallels Panel 10.3 y versiones posteriores

Para Parallels Plesk Panel anteriores a la versión 10.3:

Esta resolución sólo puede ser realizada por un usuario que disponga de privilegios root en los archivos vhost.conf o vhost_ssl.conf del dominio (para host virtual SSL). Si desea más información, consulte el artículo ' Including Directives into Configuration File of Web Server ' de la documentación de Parallels Plesk Panel.

Una vez haya aplicado estos cambios, debería volver a crear los archivos de configuración de Apache y reiniciar el servicio Apache mediante el siguiente comando en el shell. De encontrarse el archivo vhost(_ssl).conf , este se añadirá automáticamente al archivo httpd.include del dominio:

Este comando es válido para Parallels Panel 10.x:

~# /usr/local/psa/admin/sbin/httpdmng --reconfigure-all

En el caso de versiones 9.x y versiones anteriores, ejecute el siguiente comando:

~# /usr/local/psa/admin/sbin/websrvmng -a -v

NOTA : si no ejecuta este comando, vhost.conf o vhost_ssl.conf no se incluirá en la configuración de Apache y los cambios no tendrán efecto.

Ejemplo:

NOTA : HTTPD_VHOSTS_D debe reemplazarse por la ruta real a la ubicación del dominio, que puede variar en función del SO y de la versión de Parallels Plesk Panel. Puede averiguar el valor actual en el archivo /etc/psa/psa.conf. ADD_PATH debe reemplazarse por la ruta real a la carpeta para la que estamos concediendo el acceso.

Cree HTTPD_VHOSTS_D/domain.com/conf/vhost.conf :

php_admin_value open_basedir HTTPD_VHOSTS_D/domain.com/httpdocs:/tmp:/ADD_PATH

Cree HTTPD_VHOSTS_D/domain.com/conf/vhost_ssl.conf :

php_admin_value open_basedir HTTPD_VHOSTS_D/domain.com/httpsdocs:/tmp:/ADD_PATH

En el caso de subdominios, cree el archivo HTTPD_VHOSTS_D/domain.tld/subdomains/subdomain/conf/vhost.conf correspondiente:

php_admin_value open_basedir "HTTPD_VHOSTS_D/domain.com/subdomains/subdomain/httpdocs:/tmp:/ADD_PATH"

Además, también puede definir un ' open_basedir ' global para una ubicación específica requerida en /etc/php.ini. Por ejemplo:

open_basedir = "/tmp"
¿Tiene más preguntas? Enviar una solicitud
Inicie sesión para dejar un comentario.