fbpx
Seleccionar página

Si eres un administrador de sistemas y has encontrado el siguiente error en tus logs de PHP:

PHP Warning: SessionHandler::write(): open(/var/cpanel/php/sessions/alt-php74/sess_ecc8f1037c9adc71a4c2a75064937e24, O_RDWR) failed: No such file or directory (2) in /home/user/public_html/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/Handler/StrictSessionHandler.php on line 64

PHP Warning: session_write_close(): Failed to write session data using user defined save handler. (session.save_path: /var/cpanel/php/sessions/alt-php74) in /home/user/public_html/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php on line 266

No estás solo. Este error ocurre cuando PHP no puede escribir en la ruta especificada para guardar las sesiones, normalmente es causado por usar el PHP Selector de CloudLinux.

A continuación, te explicamos cómo solucionar este problema en un entorno cPanel con CloudLinux 8, CPanel y CageFS.

Paso 1: Verifica la existencia de los directorios

Primero, asegúrate de que los directorios mencionados en el error existen. En este caso, el directorio es /var/cpanel/php/sessions/alt-php74. Para crearlos, usa los siguientes comandos (te adjunto todas las versiones desde PHP 4.4 hasta PHP 8.3:

mkdir -p /var/cpanel/php/sessions/alt-php44
mkdir -p /var/cpanel/php/sessions/alt-php51
mkdir -p /var/cpanel/php/sessions/alt-php52
mkdir -p /var/cpanel/php/sessions/alt-php53
mkdir -p /var/cpanel/php/sessions/alt-php54
mkdir -p /var/cpanel/php/sessions/alt-php55
mkdir -p /var/cpanel/php/sessions/alt-php56
mkdir -p /var/cpanel/php/sessions/alt-php70
mkdir -p /var/cpanel/php/sessions/alt-php71
mkdir -p /var/cpanel/php/sessions/alt-php72
mkdir -p /var/cpanel/php/sessions/alt-php73
mkdir -p /var/cpanel/php/sessions/alt-php74
mkdir -p /var/cpanel/php/sessions/alt-php80
mkdir -p /var/cpanel/php/sessions/alt-php81
mkdir -p /var/cpanel/php/sessions/alt-php82
mkdir -p /var/cpanel/php/sessions/alt-php83
chmod 1777 /var/cpanel/php/sessions/alt-php44
chmod 1777 /var/cpanel/php/sessions/alt-php51
chmod 1777 /var/cpanel/php/sessions/alt-php52
chmod 1777 /var/cpanel/php/sessions/alt-php53
chmod 1777 /var/cpanel/php/sessions/alt-php54
chmod 1777 /var/cpanel/php/sessions/alt-php55
chmod 1777 /var/cpanel/php/sessions/alt-php56
chmod 1777 /var/cpanel/php/sessions/alt-php70
chmod 1777 /var/cpanel/php/sessions/alt-php71
chmod 1777 /var/cpanel/php/sessions/alt-php72
chmod 1777 /var/cpanel/php/sessions/alt-php73
chmod 1777 /var/cpanel/php/sessions/alt-php74
chmod 1777 /var/cpanel/php/sessions/alt-php80
chmod 1777 /var/cpanel/php/sessions/alt-php81
chmod 1777 /var/cpanel/php/sessions/alt-php82
chmod 1777 /var/cpanel/php/sessions/alt-php83

Paso 2: Edita el archivo cagefs.mp

Añade las siguientes líneas al final de tu archivo /etc/cagefs/cagefs.mp  para que CageFS incluya estos directorios en su entorno:

@/var/cpanel/php/sessions/alt-php44,700
@/var/cpanel/php/sessions/alt-php51,700
@/var/cpanel/php/sessions/alt-php52,700
@/var/cpanel/php/sessions/alt-php53,700
@/var/cpanel/php/sessions/alt-php54,700
@/var/cpanel/php/sessions/alt-php55,700
@/var/cpanel/php/sessions/alt-php56,700
@/var/cpanel/php/sessions/alt-php70,700
@/var/cpanel/php/sessions/alt-php71,700
@/var/cpanel/php/sessions/alt-php72,700
@/var/cpanel/php/sessions/alt-php73,700
@/var/cpanel/php/sessions/alt-php74,700
@/var/cpanel/php/sessions/alt-php80,700
@/var/cpanel/php/sessions/alt-php81,700
@/var/cpanel/php/sessions/alt-php82,700
@/var/cpanel/php/sessions/alt-php83,700

 

Paso 3: Actualiza y remonta CageFS

Después de editar cagefs.mp, debes reconstruir y actualizar CageFS para que los cambios se apliquen:

cagefsctl --force-update
cagefsctl --update
cagefsctl --remount-all

Paso 4: Verifica los cambios

Para asegurarte de que los cambios se han aplicado correctamente, puedes entrar en el entorno CageFS de un usuario específico y verificar que los directorios están presentes:

cagefsctl --enter <username>
ls /var/cpanel/php/sessions/

Reemplaza con el nombre de un usuario para verificar que los nuevos directorios están presentes.

Conclusión

Siguiendo estos pasos, deberías haber solucionado el problema de escritura de sesiones en PHP dentro de un entorno cPanel con CloudLinux 8 y CageFS. Asegúrate de que los directorios de sesiones existen y están correctamente configurados en cagefs.mp, y siempre reconstruye y actualiza CageFS después de hacer cambios en la configuración.

SEO Keywords (ignora esto)

  • SessionHandler::write() failed: No such file or directory
  • PHP session_write_close() error
  • cPanel PHP sessions directory missing
  • CloudLinux 8 CageFS session handling
  • Cómo solucionar error de sesiones PHP en cPanel
  • Directorios de sesiones en CageFS
  • Problemas de sesiones Symfony en PHP
  • PHP Selector CloudLinux
  • Prestashop problemas PHP
  • Prestashop error 500
  • Prestashop PHP Session

Esperamos que esta guía te haya sido útil para resolver el problema y que otros administradores de sistemas puedan encontrar esta solución fácilmente. ¡Buena suerte!