Я использую Symfony 4, и мой сайт размещен на сервере Ubuntu 18.04.
Проблема в том, что каждый раз, когда я очищаю кеш, я должен запускать chmod 777 -R var/
.
Есть ли команда для постоянного исправления разрешения?
Я использую Symfony 4, и мой сайт размещен на сервере Ubuntu 18.04.
Проблема в том, что каждый раз, когда я очищаю кеш, я должен запускать chmod 777 -R var/
.
Есть ли команда для постоянного исправления разрешения?
Это скорее всего потому, что пользователю вашего веб-сервера нужно писать в эту директорию. Есть несколько вещей, которые вы можете сделать. Прежде всего, вы можете очистить кеш как пользователь вашего веб-сервера (как и www-data, но это зависит от программного обеспечения вашего сервера и от того, вносили ли вы какие-либо изменения):
sudo -u www-data php bin/console cache:clear
Второй вариант (и я предпочитаю его) заключается в использовании «списков управления доступом», чтобы предоставить доступ как пользователю CLI, так и пользователю веб-сервера. Сначала установите ACL, запустив sudo apt-get install acl
. Затем выполните следующее (источник):
HTTPDUSER=$(ps axo user,comm | grep -E '[a]pache|[h]ttpd|[_]www|[w]ww-data|[n]ginx' | grep -v root | head -1 | cut -d\ -f1)
sudo setfacl -dR -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
sudo setfacl -R -m u:"$HTTPDUSER":rwX -m u:$(whoami):rwX var
После этого вы можете очистить кеш своим обычным пользователем CLI.