Corregir el error PHP "open_basedir restriction in effect" en LWS Panel

Procédure

  

Servicio afectado : alojamiento web compartido LWS Panel
Panel afectado : LWS Panel
Nivel : intermedio

El error open_basedir restriction in effect aparece cuando un script PHP intenta acceder a un archivo o a una carpeta situada fuera del espacio autorizado en su alojamiento.

Puede producirse especialmente después de la migración de un sitio, a causa de una ruta antigua registrada en la configuración, de una extensión mal configurada o de un script personalizado.

Antes de empezar

Conserve una copia del archivo antes de modificarlo. También debe disponer del mensaje de error completo para identificar la ruta denegada y el archivo PHP en el origen del problema.

Comprender el mensaje de error

El mensaje puede parecerse a este ejemplo :

Warning: include(): open_basedir restriction in effect.
File(/home/ancien-hebergeur/public_html/config.php)
is not within the allowed path(s):
(/var/www/exemple.com/htdocs/:/tmp/)
in /var/www/exemple.com/htdocs/index.php on line 24

Contiene varias informaciones útiles :

  • /home/ancien-hebergeur/public_html/config.php es el archivo al que el script [ADDRESS] ;
  • /var/www/exemple.com/htdocs/ corresponde al espacio en el que pueden utilizarse los archivos de su sitio ;
  • /var/www/exemple.com/htdocs/index.php es el script [PERSON_NAME] de abrir el archivo ;
  • line 24 indica la línea afectada en este script.

En este ejemplo, el sitio sigue utilizando una ruta procedente de un alojamiento anterior. PHP bloquea por tanto el acceso al archivo.

Encontrar el error en los registros PHP

Si su sitio muestra únicamente una página en blanco o un error 500, consulte los registros del alojamiento :

  1. Abra la herramienta Logs Apache / PHP.
  2. Reproduzca la acción que provoca el problema en su sitio.
  3. Actualice los registros y busque la línea que contenga open_basedir restriction in effect.
  4. Anote la ruta denegada y el archivo PHP indicado al final del mensaje.

Las líneas más recientes suelen encontrarse al final del registro.

Corregir la ruta utilizada por el sitio

1. Verifique la ubicación real del archivo

En LWS Panel, los archivos públicos de un sitio suelen colocarse en un directorio de este tipo :

/var/www/votre-domaine.fr/htdocs/

Sustituya votre-domaine.fr por el nombre de dominio afectado.

Verifique a continuación, desde el gestor de archivos o por FTP, que el archivo buscado [PERSON_NAME] uno de sus subdirectorios.

2. Localice la antigua ruta

La ruta incorrecta puede estar registrada :

  • en un archivo de configuración ;
  • en un script PHP personalizado ;
  • en los parámetros de una extensión o de un tema ;
  • en la configuración de una carpeta de caché, de importación, de copia de seguridad o de archivos temporales ;
  • en datos conservados tras una migración.

Busque en prioridad la parte característica de la antigua ruta, por ejemplo :

/home/ancien-hebergeur/

No modifique al azar los archivos internos de WordPress, PrestaShop u otra aplicación. Empiece por verificar la configuración de la extensión o del módulo indicado en el mensaje de error.

3. Sustituya la ruta incorrecta

Sustituya la antigua ruta por la ruta real del archivo en su alojamiento LWS.

Por ejemplo :

Ancien chemin :
/home/ancien-hebergeur/public_html/cache/

Nouveau chemin :
/var/www/votre-domaine.fr/htdocs/cache/

En un script PHP personalizado, suele ser preferible construir la ruta a partir de la carpeta del script en lugar de registrar la ruta completa del servidor.

Por ejemplo :

require __DIR__ . '/config.php';

Esta escritura permite al script buscar config.php en su propia carpeta.

La directiva open_basedir no puede modificarse ni desactivarse desde un archivo .user.ini en LWS Panel.

Esta protección no debe eludirse. Debe corregir la ruta utilizada por el sitio, el script o la extensión.

4. Vacíe la caché de la aplicación

Después de corregir la ruta, vacíe la caché desde la interfaz de su CMS o de su aplicación.

Una antigua ruta puede seguir registrada en un archivo de caché, incluso después de modificar la configuración.

Verificar que todo funciona

Reproduzca con precisión la acción que provocaba el error : abra la página afectada, envíe el formulario o reinicie la operación interrumpida.

Consulte después una vez más los registros PHP. No debe aparecer ninguna nueva línea open_basedir restriction in effect.

La corrección está terminada cuando la página o la funcionalidad afectada vuelve a funcionar y no aparece ningún nuevo error open_basedir en los registros PHP.

Problemas frecuentes

Solo veo un error 500 o una página en blanco

Probablemente el mensaje completo esté registrado en los registros PHP. Abra la herramienta Logs Apache / PHP desde el LWS Panel y, a continuación, reproduzca el error antes de actualizar el registro.

La ruta indicada corresponde a mi antiguo alojamiento

No se actualizó una ruta absoluta durante la migración. Busque esta ruta en los archivos de configuración, los parámetros de las extensiones y los scripts personalizados.

Sustitúyala por la ruta actual de su sitio [ADDRESS] Panel.

No encuentro dónde está registrada la ruta

Mire el nombre del archivo PHP mostrado al final del mensaje de error. A menudo permite identificar la aplicación, el tema, la extensión o el script afectado.

Para una extensión, compruebe primero sus ajustes de caché, importación, copia de seguridad o archivos temporales.

El archivo se encuentra en la carpeta htdocs, [PERSON_NAME] el error continúa

Verifique que la ruta utilizada por el script corresponde exactamente a la ubicación real del archivo.

Un enlace simbólico también puede parecer que apunta a un archivo del sitio mientras dirige PHP hacia una ubicación exterior al espacio autorizado. En ese caso, sustituya el enlace por un acceso directo a un archivo situado en la carpeta del sitio.

El error vuelve después de la modificación

Vacíe la caché de su aplicación y, a continuación, reproduzca el problema. Verifique también que la ruta no esté registrada en varios lugares.

Valora este artículo :

Este artículo le ha sido útil ?

Article utile

Article non utileNo

MerciMerci ! N'hésitez pas à poser des questions sur nos documentations si vous souhaitez plus d'informations et nous aider à les améliorer.


Vous avez noté 0 étoile(s)

Artículos similares

0mn lectura

Cloudflare Error 524 : Se ha agotado el tiempo de espera

3mn lectura

Cómo corregir un error 500 en su sitio con LWS Panel

9mn lectura

¿Cómo corrijo los códigos de error HTTP?

0mn lectura

Error 404, qué es y cómo corregirlo


Questions sur cet article

Formule una pregunta al equipo de LWS y a su comunidad

RGPD : Responsable LWS-Ligne Web Services. Finalité : modération et publication publique de votre question, notification éventuelle d'une réponse. Base légale : consentement (art. 6.1.a RGPD). Conservation des emails : 90 jours après notification, 12 mois maximum sans réponse. Vous pouvez exercer vos droits via notre nos CGV - section RGPD.