RuntimeException: no se puede crear el directorio de memoria caché (/var/www/sonata/app/cache/dev)

he instalado la sonata admin paquete.
Después de la instalación actualizar mi página no es el problema de caché entonces yo uso

rm -rf app/cache app/log

para eliminar la caché.entonces yo también crear el director utilizando el comando

mkdir app/cache app/log

luego conseguí el nuevo problema como este

Runtime Exception : Unable to create the cache directory (/var/www/sonata/app/cache/dev). Please help .
InformationsquelleAutor user2779489 | 2013-11-21

10 Kommentare

  1. 52

    Se parece a un archivo/directorio problema de permisos. El directorio tiene que tener permisos de escritura para el servidor web. Después de crear el directorio debe ajustar los permisos con

    $ chown -R www-data:www-data app/cache

    y

    $ chown -R www-data:www-data app/log

    en la línea de comandos.

    Esto sólo funciona en sistemas linux. El usuario y el grupo depende de su distribución. En Debian y Ubuntu esto se debe www-data, en CentOS es afaik apache.

    Otra solución sería la de no borrar las carpetas enteras sino únicamente su contenido a través de

    $ rm -rf app/log/* app/cache/*

    Pero ten cuidado con este comando.

    • Yo estaba teniendo el mismo problema en un Servidor Ubuntu 16.04 y haciendo esto chown -R www-data:www-data var/logs var/cache var/sessions resuelto mi problema, no te olvides de limpiar la caché..
  2. 7

    Esta solución es correcta : https://stackoverflow.com/a/20128013/2400373

    Pero es necesario cambiar los 2 comandos en Symfony3:
    En primer lugar usted debe está dentro de la carpeta de proyecto:

    $ sudo chown -R www-data:www-data var/cache
    $ sudo chown -R www-data:www-data var/logs

    Después de borrar la caché:

    $ sudo rm -rf var/cache/*
    $ sudo rm -rf var/logs/* 

    Que respecta a

  3. 4

    Y para centos:

    chown -R apache:apache app/cache

    si vas a venir aquí para Symfony Ayudar a que usted podría tener que hacerlo así si se elimina la totalidad de la app/logs

    chown -R apache:apache app/logs
    • funciona Broks 🙂 gracias , por la forma en que se puede explicar de mí ¿qué es apache:apache ? ¿por qué no el usuario actual?
  4. 4

    He resuelto cambiando de usuario y de grupo de la carpeta var/cache y var/logs, luego limpié la caché:

    sudo chown -R www-data:www-data var/logs
    sudo chown -R www-data:www-data var/cache
    
    sudo rm -rf var/logs/* var/cache/*
    • tenga cuidado con que sudo rm -rf /var/logs/* /var/cache/* va a quitar de raíz de caché !! quitar la barra antes de la var
    • Gracias por los comentarios @Vural Acar la respuesta fue editado
  5. 2

    Cambiar el CHMOD podría ayudar, pero en caso de que el caché de los molesta durante el desarrollo sólo puede desactivarlo.
    Vaya a su archivo de configuración de la aplicación (que se encuentra en ../app/config/config.yml de su directorio raíz). Desplácese a la rama de configuración configuración (bajo twig:) y cambiar el valor de la caché (que debe estar apuntando al directorio de memoria caché) a false así:

    twig:
        cache:  false

    Si usted no ve ninguna configuración de caché de entrada, basta con agregar la línea de arriba.

    • por supuesto que usted necesita para volver a activarlo una vez que la aplicación está lista para la producción
  6. 1

    Me encontré con un problema similar cuando yo estaba usando el PHP symfony como el error de la imagen.
    La encontré después de ejecutar el comando

    php bin/console cache:clear

    Lo resuelto por quitado todo lo que hay dentro de la carpeta /app/var/cache

    RuntimeException: no se puede crear el directorio de memoria caché (/var/www/sonata/app/cache/dev)

  7. 1

    Es principalmente el problema de permisos.

    Tengo resuelto en MAC usando el comando: $ sudo chmod -R 777 <path/to/cache/directory>

    Que puede probar: $ sudo chmod -R 777 /var/www/sonata/app/cache

  8. 0

    Lo que es probable que suceda es que usted está tratando de crear el archivo de apache/nginx. Por defecto, apache o nginx ha umask conjunto para 0022.

    De: http://www.cyberciti.biz/tips/understanding-linux-unix-umask-value-usage.html

    Explicar Octal umask Modo 022 Y 002

    Como he dicho antes, si la configuración predeterminada no se cambian, los archivos se crean con el modo de acceso 666 y directorios con 777. En este ejemplo:

    El valor predeterminado de umask 002 utiliza para el usuario normal. Con esta máscara directorio por defecto, los permisos 775 y permisos de archivo por defecto se 664.
    El umask por defecto para el usuario root es 022 resultado en el directorio por defecto, los permisos 755 y los permisos de archivo por defecto son 644.
    Para directorios, la base de los permisos (rwxrwxrwx) 0777 y para los archivos que se 0666 (rw-rw-rw).

    Usted tendrá que configurar manualmente la umask para 0002, y que vuelva a su estado anterior antes de que usted puede crear los directorios.

  9. 0

    En un mac equipo será:

    $ sudo chown -R _www:_www var/cache
    $ sudo chown -R _www:_www var/logs

    Si ninguno de los anteriores, usted, llame a un «phpinfo()» en el archivo php y buscar por «Usuario/Grupo» valor. Ese es el grupo de usuarios a dar su permiso.

  10. 0

    También compruebe la ruta de acceso. En mi caso, tuve

    return dirname(__DIR__) . '../../../../var/cache/

    lugar de

    return dirname(__DIR__) . '/../../../../var/cache/ (falta /)

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea