Подтвердить что ты не робот

RuntimeException: невозможно создать каталог кэша (/var/www/sonata/app/cache/dev)

я установил пакет для администрирования сонаты. После установки я обновляю свою страницу, проблема с кешем, и я использую

rm -rf app/cache app/log

для удаления кеша. Затем я также создаю директора, используя команду

mkdir app/cache app/log

то я получил новую проблему, подобную этой

Runtime Exception : Unable to create the cache directory (/var/www/sonata/app/cache/dev). Please help .
4b9b3361

Ответ 1

Похоже, проблема с файлом/каталогом. Каталог должен быть доступен для записи веб-сервером. После создания каталога вы должны настроить разрешения с помощью

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

и

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

в командной строке.

Это работает только в Linux-системах. Пользователь и группа зависят от вашего дистрибутива. В Debian и Ubuntu это должны быть www-данные, на CentOS это afaik apache.

Другим решением было бы не удалять целые папки, а только их содержимое через

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

Но будьте осторожны с этой командой.

Ответ 2

Это решение верное: fooobar.com/questions/227961/...

Но необходимо изменить 2 команды в Symfony3: Сначала вы должны находиться внутри папки проекта:

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

После удаления кеша:

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

Привет

Ответ 3

И для centos:

chown -R apache:apache app/cache

если вы придете сюда для помощи Symfony, вам, возможно, придется это сделать, если вы удалите всю папку приложений/журналов

chown -R apache:apache app/logs

Ответ 4

Я решил это, изменив пользователя и группу папок var/cache и var/logs, затем очистил кеш:

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/*

Ответ 5

Изменение CHMOD может помочь, но в случае, если кэш вас раздражает во время вылазки, вы можете просто отключить его. Перейдите в свой конфигурационный файл приложения (расположенный в.. /app/config/config.yml из корневого каталога). Перейдите к настройкам конфигурации twig (под веткой:) и измените значение кеша (которое должно указывать на каталог кэша) на false:

twig:
    cache:  false

Если вы не видите запись конфигурации кэша, просто добавьте строку выше.

Ответ 6

Я обнаружил похожую проблему, когда использовал Symfony PHP в качестве картинки ошибки. Я нашел это после запуска команды

php bin/console cache:clear

Я решил это, удалив все внутри папки /app/var/cache

enter image description here

Ответ 7

Скорее всего, вы пытаетесь создать файл под apache/nginx. По умолчанию apache или nginx имеет значение umask для 0022.

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

Объясните режим октальной umask 022 и 002

Как я уже говорил, если настройки по умолчанию не изменены, файлы создаются с режимом доступа 666 и каталогами с 777. В этом примере:

По умолчанию umask 002 используется для обычного пользователя. С этой маской разрешения по умолчанию для каталога - 775, а разрешения для файлов по умолчанию - 664. По умолчанию umask для пользователя root - это результат 022 в разрешениях по умолчанию для каталога - 755, а разрешения по умолчанию - 644. Для каталогов базовые разрешения: (rwxrwxrwx) 0777, а для файлов - 0666 (rw-rw-rw).

Вам нужно будет вручную установить umask на 0002 и reset вернуться к предыдущей настройке, прежде чем создавать каталоги.

Ответ 8

На компьютере Mac это будет:

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

Если ничего из вышеперечисленного вам не подходит, вызовите phpinfo() в вашем php файле и найдите значение "User/Group". Это группа пользователей, чтобы дать разрешение.

Ответ 9

Также проверьте путь. В моем случае у меня было

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

вместо

return dirname(__DIR__). '/../../../../var/cache/ return dirname(__DIR__). '/../../../../var/cache/ (отсутствует /)

Ответ 10

В основном это вопрос разрешения.

Я получил разрешение на MAC с помощью команды: $ sudo chmod -R 777 <path/to/cache/directory>

Вы можете попробовать: $ sudo chmod -R 777/var/www/sonata/app/cache