de buena mañana, al tratar de identificarme, obtengo el siguiente error:
[2020-07-14 11:52:49][0.086] Unknown, 0: Unknown: write failed: No space left on device (28)
[2020-07-14 11:52:49][0.086] Unknown, 0: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp)
una sesión de php necesita algo de espacio en el disco duro para almacenar la información correspondiente («Failed to write session data»). si el disco duro está realmente lleno como se dice en el error («No space left on device»), no está de más comprobarlo en el servidor mediante df
:
df -h
dev/sda3 2,2G 2,1G 0 100% /tmp
en efecto, el directorio /tmp está lleno y, al parecer, php lo emplea (al menos, en este caso) para almacenar la información de la sesión. si se trata de un servidor compartido, no queda otra que ponerse en contacto con el administrador y sentarse a esperar a que haga sitio.
hay, sin embargo, otra solución: cambiar la ruta de almacenamiento de la sesión actual mediante session_save_path
(esta orden, para que tenga efecto, cabe ejecutarla antes de session_start
):
session_save_path("/home/usuario/tmp/");
session_start();
echo session_save_path();
/home/usuario/tmp/
si las apariciones de session_start
son muchas en el código en cuestión, aún cabe otra posibilidad: editar el archivo de configuración php.ini o, en un servidor compartido (como es el caso), introducir la siguiente línea en ~/.php/7.2/phprc:
session.save_path = «/home/usuario/tmp/»
si se edita el archivo de configuración de php, será necesario reiniciar el servicio para que los cambios surtan efecto.
killall -9 php72.cgi
o como corresponda en cada casa.
llegado este punto, cabría averiguar si la seguridad de la carpeta /home/usuario/tmp/ es suficiente.