@ak_wi

Ошибка в Symfony. Почему Vich uploader падает на production после очистки кэша?

Установил VichUploader в Symfony 4.3. И все в порядке, но в prod после использования
php bin / console cache: clear
возникает проблема:

Uncaught PHP Exception InvalidArgumentException: "The directory "/var/www/test.site/var/cache/prod/vich_uploader" is not writable." at /var/www/test.site/vendor/jms/metadata/src/Cache/FileCache.php line 44 {"exception":"[object] (InvalidArgumentException(code: 0): The directory \"/var/www/test.site/var/cache/prod/vich_uploader\" is not writable. at /var/www/test.site/vendor/jms/metadata/src/Cache/FileCache.php:44)"}


Накатывание прав на директорию кэша естественно решает проблему, но только до следующей очистки кэша команды.

Есть ли иное решение?
  • Вопрос задан
  • 264 просмотра
Решения вопроса 1
Minifets
@Minifets
Hello world!!!
Есть как минимум 2 причины.
1) Пользователь под которым работает apache/nginx и пользователь, который запускает консольный скрипт зачастую разные. А значит файлы и папки, созданные после чистки кеша (А чистка кеша не только удаляет, но и создает новые файлы) будут конфликтовать по правам, к ним будет иметь доступ либо пользователь, либо apache/nginx, но никак не оба.
2) Apache по-умолчанию создает папки с правами 755 и файлы с правами 644, что означает, что если вы добавите пользователя в группу к apache, вы не получите к ним доступ. Тут уже нужно настраивать еще и umask правильно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы