¿Qué debo hacer si ocurre el error PHP open_basedir en el panel de VestaCP?

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" ▼

En el panel VestaCP, cambie "Plantilla web HTTPD" de "predeterminada" a "phpfcgid".

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. ▼

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Ir al Inicio