Directorio de artículos
Solución del error PHP open_basedir en el panel VestaCP
¿Qué es PHP open_basedir?
- El ajuste de protección PHP open_basedir es una medida de seguridad del modo seguro que evita que los usuarios usen PHP para abrir archivos o scripts ubicados fuera de su directorio de inicio, a menos que esa carpeta se haya excluido explícitamente.
- Habilitar la configuración de PHP open_basedir garantizará que todas las operaciones de archivos estén restringidas a archivos en un directorio determinado, evitando que los scripts php de un usuario específico accedan a archivos en cuentas de usuario no autorizadas.
- Cuando el script intenta abrir el archivo con, por ejemplo, fopen() o gzopen(), se comprueba la ubicación del archivo.
Hay más tutoriales sobre paneles VestaCP aquí ▼
Cuando un archivo excede el árbol de directorios especificado o permitido, PHP se negará a abrirlo, puede ocurrir un error similar al siguiente:
PHP Warning: require(): open_basedir restriction in effect. File(/home/admin/web/project/www/app/autoload.php) is not within the allowed path(s): (/home/admin/web/project/public_shtml:/home/admin/tmp) in /home/admin/web/project/www/web/app.php on line 6 PHP Warning: require(/home/admin/web/project/www/app/autoload.php): failed to open stream: Operation not permitted in /home/admin/web/project/www/web/app.php on line 6 PHP Fatal error: require(): Failed opening required '/home/admin/web/project/www/web/../app/autoload.php' (include_path='.:/usr/share/php') in /home/admin/web/project/www/web/app.php on line 6
Solución
Paso 1: Acceda al nombre de dominio correspondiente "Servicio WEB".
Paso 2: Modificar "Plantilla web HTTPD"
- Cambie "Plantilla web HTTPD" de "predeterminado" a "phpcgi" ▼

Paso 3: Reinicie el servicio Apache usando el siguiente comando ▼
service httpd restart
Este es un problema común en los sistemas Linux . Simplemente sigue los pasos anteriores; no se requiere ninguna modificación del código y se puede resolver rápidamente en solo 3 pasos. ¡Es muy sencillo! ^_^
注意 事项
- Nunca elija "phpfcgid", porque es fácil consumir demasiada memoria y causar problemas frecuentes de error 500.
Si insiste en utilizar la plantilla "phpfcgid", Chen Weiliang sugiere optimizar su configuración antes de usarla. ▼
Esperamos que el artículo "¿Cómo solucionar el error PHP open_basedir en el panel VestaCP?" compartido en el blog de Chen Weiliang ( https://www.chenweiliang.com/ ) le sea útil.
No dudes en compartir el enlace de este artículo: https://www.chenweiliang.com/cwl-734.html


