Я установил пакет администрирования сонаты. После установки я обновляю свою страницу, есть проблема с кешем, после чего я использую
rm -rf app/cache app/log
для удаления cache.then я также создаю директора, используя команду
mkdir app/cache app/log
то у меня возникла новая проблема
Runtime Exception : Unable to create the cache directory (/var/www/sonata/app/cache/dev). Please help .
Это похоже на проблему с разрешением файла / каталога. Каталог должен быть доступен для записи веб-сервером. После создания каталога вы должны настроить разрешения с помощью
$ chown -R www-data:www-data app/cache
а также
$ chown -R www-data:www-data app/log
в командной строке.
Это работает только в Linux-системах. Пользователь и группа зависят от вашего дистрибутива. На Debian и Ubuntu это должны быть www-данные, на CentOS это афаик апач.
Другим решением было бы не удалять целые папки, а только их содержимое через
$ rm -rf app/log/* app/cache/*
Но будьте осторожны с этой командой.
И для centos:
chown -R apache:apache app/cache
если вы приедете сюда для помощи Symfony, вам, возможно, придется это сделать, если вы удалите всю папку приложений / журналов
chown -R apache:apache app/logs
Изменение CHMOD может помочь, но в случае, если кэш вас раздражает во время всплытия, вы можете просто отключить его. Перейдите в свой конфигурационный файл приложения (расположенный в ../app/config/config.yml из корневого каталога). Перейдите к настройкам конфигурации твинов (под плиткой 🙂 и измените значение кеша (которое должно указывать на каталог кэша) на false следующим образом:
twig: cache: false
Если вы не видите записи конфигурации кэша, просто добавьте строку выше.
Я решил изменить пользователь и группу папок 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/*
Это решение верное: https://stackoverflow.com/a/20128013/2400373
Но необходимо изменить 2 команды в Symfony3
: сначала вы должны 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/*
С уважением
Скорее всего, вы пытаетесь создать файл под 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. Значение по умолчанию для пользователя root – это результат 022, а разрешения по умолчанию – 755, а разрешения по умолчанию – 644. Для каталогов базовые разрешения: (rwxrwxrwx) 0777 и для файлов – 0666 (rw-rw-rw).
Вам нужно будет вручную установить umask на 0002 и вернуть его обратно к предыдущей настройке, прежде чем создавать каталоги.