Я не могу использовать ACL, поэтому я попытался добавить umask (0000) в приложение/консоль и web/app.php в своем VPS, но разрешения приложения/кэш снова повернулся к 0755 и владельца группы myFTPUser
, когда я очистить кэш, поэтому мой сайт выдает ошибку, пока я не изменить разрешения снова 0775 и владельца группы www-data
:Использование umask для установки разрешения при очистке кеша
php app/console cache:clear --env=prod --no-debug
chown -R myFTPUser:www-data app/cache/
find app/cache/ -type d | xargs chmod -R 0775
find app/cache/* -type f | xargs chmod -R 0664
единственный способ я узнал заключается в том, чтобы изменить пользователя на пользователя Apache до очистки кеша без изменения umask
:
su www-data
php app/console cache:clear --env=prod --no-debug
И теперь он работает правильно, не делая ничего другого. Но, это правильный путь? и почему документация Symfony2 не уточняет этот момент?
* В производственной среде вам, скорее всего, придется переключиться на пользователя apache. * В чем разница между запуском этой команды от пользователя Apache и установкой владельца на пользователя Apache? Наверное, нет никакой разницы. – Manolo
Это не разница, это оба требования этого. Вы хотите иметь каталог, принадлежащий пользователю Apache, чтобы ваше приложение функционировало правильно, и вы хотите запускать команды от пользователя Apache, потому что они будут работать только так. Вот как я, по крайней мере, работаю с этой проблемой. – Seer