¿Qué significa “error de escritura: no queda espacio en el dispositivo”?

2 minutos de lectura

Avatar de usuario de Michael
Miguel

Recibo estos errores en mi sitio, pero no he cambiado ningún código ni nada, así que no sé por qué sucede esto.

Warning: Unknown(): write failed: No space left on device (28) in Unknown on line 0

Warning: Unknown(): Failed to write session data (files). 
Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

  • He cambiado el título y la etiqueta de su pregunta: el error proviene de PHP, no de MySQL. Alégrate por eso, no quieres lidiar con MySQL después de una condición de falta de espacio.

    – Charles

    23 de marzo de 2011 a las 22:32

Supongo que está alojando su sitio en un proveedor de alojamiento compartido. Básicamente, el error significa que el servidor se ha quedado sin espacio en disco, por lo que no puede completar los comandos sql.

Simplemente llame o envíe un correo electrónico a la empresa de alojamiento y ellos deberían arreglarlo por usted.

  • @Michael, … a menos que haya superado su propio límite de espacio; en ese caso, tendrá que arreglarlo usted mismo (liberar algo de espacio en la base de datos).

    – Checanología

    23 de marzo de 2011 a las 22:33

  • Realmente no uso mucho espacio, así que dudo que el problema sea causado por mí, enviaré un correo electrónico a la empresa de alojamiento al respecto. Gracias.

    – Miguel

    23 de marzo de 2011 a las 22:38


  • No son solo los archivos que carga allí, por ejemplo, los archivos de registro muy grandes pueden causar el problema.

    – Dr. Molle

    23 de marzo de 2011 a las 22:43

  • /tmp puede ser un sistema de archivos completamente separado y haberse quedado sin espacio, incluso si el resto del árbol web tiene mucho espacio libre.

    – Marc B.

    24 de marzo de 2011 a las 0:54

  • ¿Por qué se acepta esta respuesta? o “llama a tu proveedor de alojamiento” es una respuesta universal a cualquier mierda web que haya ocurrido?

    – Tercio

    3 de noviembre de 2016 a las 19:05

Avatar de usuario de Fernando
Fernando

En un alojamiento compartido, cambie la ubicación donde se guardan las sesiones.

Cree el directorio: /public_htm/tmp, otorgue los permisos (777)

Cree un archivo .htaccess en el directorio /public_htm/tmp con:

order deny, allow
deny from all
allow from 127.0.0.1

Y en su script PHP, en la parte superior (en su controlador frontal):

session_save_path(dirname($_SERVER['DOCUMENT_ROOT']).'/public_html/tmp');

Importante: debe agregarse antes de session_start ()

Comprueba esto con un script:

<?php
session_save_path(dirname($_SERVER['DOCUMENT_ROOT']).'/public_html/tmp');
session_start();
$_SESSION['Text'] = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed quis nunc eu ut elit eget adipiscing facilisis turpis."
phpinfo();
?>

Compruebe si cambió la directiva “session.save_path”

Avatar de usuario de Angelinux
angelinux

df-h

para buscar /tmp espacio a la izquierda.

Si /tmp está por encima del 100%

cd/tmp

rm -r ./* -f

Y puede guardar sesiones de nuevo.

Si tiene particiones (df -h) y el que está alojando el mysql está lleno.

Mueva las carpetas que consumen más tamaño a la nueva partición, en mi caso mv /var/mail /homey crear un enlace simbólico sudo ln -s /home/mail mail. Puede mover mysql mismo.

intente usar este comando en la consola:

php bin/caché de la consola: borrar

¿Ha sido útil esta solución?