Symfony 4 Невозможно записать в каталог cache / dev

Я установил новый проект Symfony 4. Это работает на бродяге для местной разработки. Теперь у меня проблемы с правами доступа к файлам.

Сама Symfony говорит, что это должно быть проблемой: Настройка или исправление прав доступа к файлам.

Если я запускаю bin/console cache:clear, код работает нормально. Но как только я изменяю свой код, я получаю следующую ошибку:

(1/1) IOException
Unable to write to the "/var/www/path_to_project/var/cache/dev" directory.

Запустив bin/console cache:clear снова, код работает нормально. Но снова меняя код, снова возникает та же проблема с записью.

Я пробовал chmod +r 777 var/cache/dev, но это ничего не меняет. Как я могу это исправить?

Выход для Ахмед Б.С.

$ ls -la var/
total 16
drwxrwxr-x  4 vagrant vagrant 136 Jan  7 11:41 ./
drwxrwxr-x 14 vagrant vagrant 476 Jan  7 12:30 ../
drwxrwxr-x  3 vagrant vagrant 102 Jan  7 12:57 cache/
drwxrwxr-x  2 vagrant vagrant  68 Jan  7 11:41 log/

$ id
uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant),4(adm),24(cdrom),27(sudo),30(dip),33(www-data),46(plugdev),110(lxd),115(lpadmin),116(sambashare),998(rvm),1003(www-user)

РЕДАКТИРОВАТЬ Проблема была не в Symfony, а в конфигурации моего vagrantfile. Synced_folder имеет владельца vagrant, а apache - www-data. Сделал все "www-data", и теперь он работает нормально. Совершенно не относится к Symfony!

Попробуйте chown -R $USER:$USER var/

famas23 07.01.2019 12:42

Также на всякий случай удалите папку var/cache/dev вручную.

u_mulder 07.01.2019 12:45

Обычно это может повлиять на var/ и его подкаталоги.

famas23 07.01.2019 12:46

@Ahmedbhs, не работает, также удаление папки не дает никакого эффекта.

Timo002 07.01.2019 12:59

Не могли бы вы просто ввести: ls -la var/ , а затем id и показать нам результаты

famas23 07.01.2019 13:02

@Ahmedbhs, см. Мою правку

Timo002 07.01.2019 13:17
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Symfony Station Communiqué - 17 февраля 2023 г
Symfony Station Communiqué - 17 февраля 2023 г
Это коммюнике первоначально появилось на Symfony Station , вашем источнике передовых новостей Symfony, PHP и кибербезопасности.
Управление ответами api для исключений на Symfony с помощью KernelEvents
Управление ответами api для исключений на Symfony с помощью KernelEvents
Много раз при создании api нам нужно возвращать клиентам разные ответы в зависимости от возникшего исключения.
0
6
5 346
2

Ответы 2

Запустите chmod -R 0777 var вместо выполнения команд для отдельных папок.

в бродяге вам нужно вместо этого настроить разрешения в файле конфигурации бродяги (или yml)

Tigran Azatyan 07.01.2019 13:18

Какой должна быть конфигурация разрешений?

Timo002 07.01.2019 13:19

synced_folder: folder1: owner: www-data group: www-data source: ./ target: / var / www / богатство sync_type: по умолчанию smb: smb_host: '' smb_username: '' smb_password: '' mount_options: dir_mode: '0775 'file_mode:' 0664 ''

Tigran Azatyan 07.01.2019 13:21

возможно вам нужна более подробная конфигурация. также проверьте конфигурацию 0777

Tigran Azatyan 07.01.2019 13:21

Да обнаружил проблему, связанную с бродягой. synced_folder имел владельца vagrant, а apache - www-data. Сделал все "www-data", и теперь он работает нормально. Совершенно не относится к Symfony! Tnx

Timo002 07.01.2019 13:32

@ Timo002 может просто опубликовать четкое решение и как вы решить проблему, пожалуйста

famas23 07.01.2019 14:02

@ Timo002 просто используйте пользователя и группу www-data для папки www.

Tigran Azatyan 07.01.2019 17:51

Пытаться

sudo chmod -R 777 /var/www/path_to_project/var/cache/*

Другие вопросы по теме