Cómo solucionar el error de restricción open_basedir

Cuando creas un sitio de staging con el plugin gratuito WP STAGING, PHP puede detener el proceso con un error de restricción open_basedir. El mensaje significa que PHP está configurado para leer y escribir solo dentro de una lista fija de directorios, y la carpeta donde WP STAGING quiere construir la copia de staging no está en esa lista. La solución es añadir tu directorio de WordPress a la línea open_basedir de tu archivo php.ini (o a los ajustes de PHP de tu Hosting) y reiniciar PHP. Esta guía te muestra cómo encontrar el archivo que PHP realmente carga, editarlo de forma segura y qué comprobar si el error no desaparece.

Nota: Si intentas crear un sitio de staging con WP Staging Pro y obtienes este error al intentar crear un sitio de staging predeterminado, puedes usar el ajuste avanzado para crear el sitio de staging en una subcarpeta de ‘wp-content’. En ese caso puedes dejar de leer aquí.

Cómo se ve el error de restricción open_basedir

open_basedir es un ajuste de seguridad de PHP que limita el acceso a archivos a una lista aprobada de directorios. Cuando cualquier script, incluido WP STAGING, intenta acceder a una ruta fuera de esa lista, PHP lo rechaza y registra una advertencia. En el registro de tu servidor o en el registro de depuración de WordPress suele aparecer algo como esto:

Warning: open_basedir restriction in effect.
File(/var/www/html/staging) is not within the allowed path(s):
(/var/www/html/) in /var/www/html/... on line ...

También puedes llegar a esta página desde un mensaje de WP STAGING que indica que no pudo incluir un archivo de arranque (bootstrap) y menciona open_basedir como posible causa. Ambos apuntan al mismo problema de fondo: el directorio que WP STAGING necesita está fuera de las rutas permitidas. La ruta exacta del archivo que aparece en tu mensaje te indica qué directorio hay que añadir a la lista de rutas permitidas.

Por qué open_basedir bloquea WP STAGING

La directiva open_basedir se define en el archivo php.ini y restringe el acceso de PHP a los archivos de los directorios que indiques. De forma predeterminada, WP STAGING crea el sitio de staging en un subdirectorio de la raíz de tu WordPress. Si esa raíz, o el subdirectorio en el que quiere escribir, no está cubierto por open_basedir, PHP bloquea la escritura y el sitio de staging no se puede crear. Añadir el directorio de WordPress a la lista de rutas permitidas elimina el bloqueo sin desactivar el ajuste de seguridad.

Cómo solucionar el error de restricción open_basedir

Para resolver el error de restricción open_basedir y crear correctamente un sitio de staging con WP STAGING, sigue estos pasos en orden.

Paso 1: Encuentra el archivo php.ini que PHP realmente carga

El archivo php.ini es el archivo de configuración de PHP, y su ubicación varía según el entorno de Hosting. Un servidor puede tener más de un php.ini, por lo que editar el equivocado es la razón más habitual de que una solución parezca no tener efecto. Para encontrar el archivo que realmente está en uso, crea un pequeño archivo llamado phpinfo.php en la raíz de tu WordPress con este contenido, ábrelo en tu navegador y lee el valor de Loaded Configuration File:

<?php phpinfo(); ?>

Si tienes acceso por shell, php --ini imprime la misma ruta desde la línea de comandos. Elimina el archivo phpinfo.php una vez que tengas la ruta, porque expone detalles del servidor. Si no puedes encontrar ni editar php.ini en absoluto, ve directamente a la sección de más abajo sobre los Hosting sin acceso directo a php.ini.

Paso 2: Modifica la directiva open_basedir

Una vez que hayas localizado el archivo php.ini, necesitas editarlo para incluir el directorio donde quieres crear tu sitio de staging. Abre el archivo php.ini en un editor de texto y busca la línea que empieza por open_basedir.

Por ejemplo, si tu WordPress está instalado en /var/www/html/wordpress y la línea de configuración open_basedir en php.ini dice actualmente:

ShellScript
open_basedir = "/var/www/html/"

Necesitas modificarlo para incluir el directorio de WordPress:

ShellScript
open_basedir = "/var/www/html/:/var/www/html/wordpress/"

Conserva las rutas que ya estaban ahí. Eliminar una ruta existente para hacer sitio puede romper otras partes de tu sitio que dependan de ella.

Paso 3: Reinicia tu servidor web o PHP-FPM

Después de guardar los cambios en tu archivo php.ini, necesitas reiniciar PHP para que los cambios tengan efecto. Si tu sitio ejecuta PHP a través del módulo integrado de Apache, con reiniciar Apache es suficiente. Si funciona con PHP-FPM (habitual en Nginx y en muchos Hosting gestionados), también necesitas reiniciar el servicio PHP-FPM, no solo el servidor web, o la configuración antigua permanecerá en memoria. Usa el panel de control de tu Hosting o la documentación de tu proveedor para conocer el comando exacto de reinicio.

Paso 4: Intenta crear de nuevo tu sitio de staging

Una vez reiniciado PHP, intenta crear tu sitio de staging con WP STAGING de nuevo. El error de restricción open_basedir debería estar resuelto, permitiendo que el proceso de creación continúe sin problemas. Para confirmar que el nuevo ajuste está activo, vuelve a cargar la página phpinfo() del Paso 1 y comprueba que el valor de open_basedir ahora incluye tu directorio de WordPress.

Cuando no puedes editar php.ini directamente

En los Hosting compartidos y gestionados, a menudo no tienes acceso directo a php.ini. En ese caso, busca un panel de ajustes de PHP en el panel de control de tu Hosting (por ejemplo, una pantalla "MultiPHP INI Editor" o "Select PHP Version" en cPanel) y define open_basedir allí, o pide a tu proveedor de Hosting que añada la ruta de tu WordPress a la lista de rutas permitidas. Si prefieres no tocar los ajustes del servidor en absoluto, WP STAGING puede construir el sitio de staging dentro de una carpeta en la que ya se puede escribir, como explica la nota al principio de este artículo.

Si el error open_basedir sigue apareciendo

Si el error persiste después de editar php.ini y reiniciar PHP, revisa estas causas habituales:

  • Editaste un php.ini que PHP no carga. Vuelve a comprobar Loaded Configuration File del Paso 1 y edita ese archivo exacto.
  • Reiniciaste el servidor web pero no PHP-FPM. Reinicia también el servicio PHP-FPM.
  • El separador de rutas es incorrecto. Usa dos puntos en Linux y un punto y coma en Windows, y no dejes un separador al final con una entrada vacía.
  • Tu proveedor de Hosting aplica open_basedir de forma centralizada e ignora tus cambios. Contacta con el soporte y pídeles que añadan la ruta.
  • Como atajo, usa el ajuste avanzado de WP STAGING para crear el sitio de staging dentro de una subcarpeta de wp-content, en la que ya se puede escribir.

Conclusión

La restricción open_basedir es una función de seguridad que, aunque importante, a veces puede interferir con operaciones legítimas como crear un entorno de staging para tu sitio de WordPress. Editando el archivo php.ini que PHP realmente carga, añadiendo tu directorio de WordPress a la lista de rutas permitidas y reiniciando PHP, puedes eliminar el error sin debilitar la seguridad de tu servidor. Haz siempre una copia de seguridad de tu archivo php.ini antes de realizar cualquier cambio, y consulta con tu proveedor de Hosting si no estás seguro de editarlo tú mismo.

Artículos relacionados

Updated on julio 28, 2026

Rene Hermenau

Autor: Rene Hermenau

Sobre el autor: René Hermenau es el fundador de WP STAGING. Trabaja en copias de seguridad de WordPress, entornos de staging, migraciones, gestión de bases de datos y flujos de despliegue seguros.