Nano Hash - криптовалюты, майнинг, программирование

Необходимо исправить разрешение папки var после каждой очистки кеша, Symfony 4

Я использую Symfony 4, и мой сайт размещен на сервере Ubuntu 18.04.

Проблема в том, что каждый раз, когда я очищаю кеш, я должен запускать chmod 777 -R var/ .

Есть ли команда для постоянного исправления разрешения?


  • Я бы предположил, что вы запускаете команды как другой пользователь, что вызывает проблемы. (имеется в виду: веб-сервер / php запускает symfony под пользовательскими www-данными или чем-то еще, и вы используете root или что-то еще), оставляя каталог кеша недоступным для записи для пользователя symfony. 27.10.2019

Ответы:


1

Это скорее всего потому, что пользователю вашего веб-сервера нужно писать в эту директорию. Есть несколько вещей, которые вы можете сделать. Прежде всего, вы можете очистить кеш как пользователь вашего веб-сервера (как и 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.

28.10.2019
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..