Я использую Windows 10 и запускаю различные проекты Sf на разных версиях Symfony от 2.3 до 3.2. У меня были эти проблемы во всех них с незапамятных времен (также на Win 7). В некоторых проектах это постоянно, в других случайно - при очистке кеша все сходит с ума - иногда не может переименовать каталог, иногда не может удалить файл, иногда не может его открыть. Примеры:
[Symfony\Component\Debug\Exception\ContextErrorException] Warning: file_put_contents(H:\_Moje_dydy\Documents\Projekty\atm\src/var/cache/dev/classes.map): failed to open stream: Permission denied
Это очень распространено (но только в некоторых проектах!):
[Symfony\Component\Filesystem\Exception\IOException] Cannot rename "H:\_Moje_dydy\Documents\Projekty\friendly_score\src_rainfin\app\cache\de_" to "H:\_Moje_dydy\Documents\Projekty\friendly_score\src_rainfin\app\cache\dev".
В некоторых случаях помогает полная очистка каталога кеша с правами администратора. В некоторых нет, а в некоторых вообще невозможно (удаление содержимого каталога). Много раз, когда я не мог удалить каталог и просматривал разрешения NTFS для некоторых папок в каталоге кеша, я видел полный хаос, подобный этому:
Обратите внимание на повторяющиеся записи для одних и тех же пользователей, множественные «специальные» права (у них внутри очень странные наборы разрешений, которые часто противоречат друг другу).
В некоторых «более тяжелых» случаях это не только мешало команде cache:clear, но и вообще ломало приложение. В большинстве этих случаев требовалось очень глубокое вмешательство, чтобы я мог просто удалить каталог кеша (некоторые подкаталоги имели настолько сумасшедшие разрешения, что даже будучи администратором, я не мог их удалить и должен был сначала смешаться с разрешениями).
Вот что я использую прямо сейчас:
- Windows 10 (было и на Windows 7);
- XAMPP с PHP 7.1 и Apache 2.4 (случалось и в более старых версиях с PHP 5.6 и 5.4);
- Netbeans 8.2 как IDE (случалось и с предыдущими версиями);
- cygwin для запуска команд CLI;
- мерзавец
Мой основной вопрос: что так нелепо смешивается с этими разрешениями? Apache+PHP при создании кеша во время выполнения? Netbeans, даже несмотря на то, что он игнорирует каталоги кеша и журнала (теоретически - я специально не помещал их в список игнорирования в NB)? Git, даже эти каталоги игнорируются в каждом репо (довольно маловероятно)? Я, выполняя команды CLI через cygwin (тоже маловероятно)?
Я долго с этим боролся, безрезультатно...
У вас есть какие-нибудь идеи по этому поводу? Спасибо.