Как дать разрешение Symfony для записи

0

У меня есть форма, которая загружает фотографию. Первоначально я получил ошибку, потому что symfony не смог создать директиву, поэтому я создал их вручную.

Теперь я получаю эту ошибку:

Unable to write in the "/home/crixi/projects/symfony/src/Acme/TestBundle/Entity/../../../../web/uploads/picture" directory 

Я использую ubuntu.

Есть ли какие-то настройки, которые я должен был бы назначить symfony, чтобы писать в этой папке?

  • 0
    Проверьте, под каким пользователем и группой работает ваш веб-сервер, проверьте, каков текущий владелец и группа каталога. 2 основных варианта: вы chown каталог для пользователя веб - сервера, или chgrp его в группе и дать групповые права на чтение / запись / листинг на этой директории ( g+rwx ).
  • 0
    странно, apache вроде запускается от root
Показать ещё 2 комментария
Теги:

1 ответ

1
Лучший ответ

Если вы используете Ubuntu, то ваш веб-пользователь будет www-data, а не apache. Поэтому, если вы изменили разрешения apache, это не сработало. Вы можете сделать это правильно, выполнив следующие действия:

  1. sudo chgrp -R www-data/home/crixi/projects/symfony/web/uploads
  2. sudo chmod -R g+rwx/home/crixi/projects/symfony/web/uploads

Это позволит веб-пользователю (www-data) предоставить надлежащие разрешения для записи в ваш каталог и подгружаемые файлы. Это лучше, чем давать каждому разрешение на запись, потому что всегда хорошо делать что-то прямо в dev env, поэтому у вас нет проблем при подключении.

ИЛИ, как предлагает @Wrikken, просто используйте chown так:

sudo chown -R www-data/home/crixi/projects/symfony/web/uploads

Это зависит от того, как вы хотите управлять своими разрешениями.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню