Предупреждение Symfony: переименование (../app/cache/dev, ../app/cache/dev_old): доступ запрещен. (Код: 5) - PullRequest
7 голосов
/ 30 января 2012

Я работаю над проектом Symfony.

Когда я пытаюсь сделать:

php app/console cache:clear

я получаю следующее ErrorException:

Warning : rename (../app/cache/dev , ../app/cache/dev_old ) : Access Denied . (Code : 5) in ../vendors/Symfony/src/Symfony/Bundle/FrameworkBundle/Command/CacheClearCommand.php on line 76

В чем проблемаВот?Я дал все разрешения пользователю на моей машине (ОС Windows 7).Есть идеи, почему это происходит?

Спасибо.

Ответы [ 6 ]

11 голосов
/ 31 января 2012

Убедитесь, что файлы не используются (как указано meze ).Если вы используете что-то вроде TortoiseGit или Netbeans и т. Д. - обязательно пометьте папку cache как проигнорированную, чтобы к ней не было доступа.

Если ничего не помогло, загрузите бесплатную программу, например Unlocker , который позволит вам быстро и легко отсоединить запущенные процессы от файлов / папок, которые вы пытаетесь изменить.

6 голосов
/ 04 марта 2012

Чтобы развернуть пост лука-порея, операции очистки кэша Symfony 2 перемещают кэшированные элементы по разным папкам во время очистки. Часть этого процесса включает создание папок cache / dev-new / и cache / dev-old /.

Если вы используете Eclipse или другую IDE, которая динамически отслеживает подпапки в вашем проекте, IDE почти мгновенно обнаружит создание новой папки и будет искать в этих папках новые файлы (в Eclipse я заметил, что модуль DLTK постоянно делает это в Прогресс). К сожалению, это может помешать Symfony, который хочет переименовать и / или удалить эти папки.

В частности, с помощью Eclipse Indigo в 64-разрядной версии Windows 7 вы можете удалить папки кеш /, cache / dev /, cache / dev_old / и cache / dev_new / из пути сборки, щелкнув правой кнопкой мыши ваш проект и выбрав «Build» Путь> Настроить путь сборки ... ". Это первоначально не имело никакого эффекта для меня; Я продолжал видеть модуль DLTK, пытающийся индексировать папки кэша. В итоге я удалил плагин Aptana Studio, закрыл все документы Editor, закрыл Eclipse, вручную удалил подпапки в кеше / папке, запустил кеш Symfony: очистить, затем запустил Eclipse и переустановил Aptana. Кажется, до сих пор работал.

5 голосов
/ 01 сентября 2012

Это проблема с Symfony 2.0.x и Symfony 2.1.x. Это обходной путь для этого:

Открыть файл: src\Symfony\Bundle\FrameworkBundle\Command\CacheClearCommand.php

и добавьте оператор sleep(1); в случае сбоя при создании каталога, в функцию execute():

    //...
    rename($realCacheDir, $oldCacheDir);
    sleep(1);
    rename($warmupDir, $realCacheDir);
    //...

Возможно, вам придется дважды открыть CLI и запустить cache:clear, но после этого проблема будет устранена

1 голос
/ 03 мая 2019

Если вы используете текстовые редакторы в качестве Sublime Text, попробуйте игнорировать путь кешированных файлов

Зайдите в Настройки / Настройки

редактировать файл конфигурации

{
...
     "folder_exclude_patterns": ["var","node_modules",  ".git"],
...
}

в моем случае

Кэши папок-контейнеров.

Symfony 4

/ вар

Symfony 2

/ приложение / кэш

Отличное кодирование!

0 голосов
/ 18 марта 2016

SYMFONY AND ANTIVIRUS

Множественные вызовы Symfony на локальной машине Windows пересекаются с некоторыми антивирусами, такими как NOD в моем случае.Исключить папку кэша Symfony из защиты в реальном времени

0 голосов
/ 19 февраля 2015

Чтобы иметь спокойствие раз и навсегда, я создаю clear.bat файл в папке MyProject под Windows 7.

rmdir d:\symfony\framework-standard-edition\app\cache\  /S /Q

Я гарантирую 100% эффективность очистки кеша. Некоторые незначительные проблемы могут возникнуть после первого обновления веб-сайта: Symfony должен воссоздать нужные им папки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...