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!
Recent Comments