我正在研究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操作系统)。任何想法为什么会发生?
谢谢。
答案 0 :(得分:11)
确保文件未被使用(指出meze)。如果您使用的是TortoiseGit或Netbeans等,请务必将cache
文件夹标记为已忽略,以便不会访问它们。
如果所有其他方法都失败了,请下载Unlocker之类的免费程序,以便您快速轻松地从正在尝试修改的文件/文件夹中分离正在运行的进程。
答案 1 :(得分:6)
为了扩展韭菜的帖子,Symfony 2缓存清除操作在清理期间将缓存的项目拖放到不同的文件夹中。此过程的一部分包括创建cache / dev-new /和cache / dev-old / folders。
如果您正在使用Eclipse或其他IDE来动态监视项目中的子文件夹,IDE将几乎立即发现新文件夹创建并在这些文件夹中查找新文件(在Eclipse中,我注意到DLTK模块不断地在进步观点)。遗憾的是,这可能会妨碍想要重命名和/或删除这些文件夹的Symfony。
特别是在Windows 7 64位上使用Eclipse Indigo,您可以通过右键单击项目并选择“Build”来从构建路径中删除缓存/,缓存/ dev /,cache / dev_old /和cache / dev_new /文件夹。路径>配置构建路径...“。这最初对我没有影响;我一直看到DLTK模块试图索引缓存文件夹。我最终卸载了Aptana Studio插件,关闭所有Editor文档,关闭Eclipse,手动删除缓存/文件夹中的子文件夹,运行Symfony缓存:清除,然后启动Eclipse并重新安装Aptana。似乎到目前为止已经奏效。
答案 2 :(得分:5)
这是Symfony 2.0.x和Symfony 2.1.x的问题。这是一个workaround:
打开文件:src\Symfony\Bundle\FrameworkBundle\Command\CacheClearCommand.php
并在sleep(1);
函数中添加目录创建失败的语句execute()
:
//...
rename($realCacheDir, $oldCacheDir);
sleep(1);
rename($warmupDir, $realCacheDir);
//...
您可能需要重新打开CLI两次并运行cache:clear
,但之后会解决问题
答案 3 :(得分:1)
如果您将文本编辑器用作Sublime Text,请尝试忽略缓存文件的路径
转到“偏好设置/设置”
编辑配置文件
{
...
"folder_exclude_patterns": ["var","node_modules", ".git"],
...
}
就我而言
缓存文件夹容器。
Symfony 4
/ var
Symfony 2
/ app / cache
好的编码!
答案 4 :(得分:0)
为了让我一劳永逸,我在Windows 7下的MyProject文件夹中创建 clear.bat 文件。
rmdir d:\symfony\framework-standard-edition\app\cache\ /S /Q
我保证100%有效清理缓存。第一次刷新网站后可能会出现一些小问题:Symfony必须重新创建一些他们需要的文件夹。
答案 5 :(得分:0)
我在Symfony 4.1.13中遇到了同样的问题,根本原因是VS代码正在使用文件“ var / cache / dev / srcDevDebugProjectContainer.xml4QSKuA”。
问题是无法重命名“ var / cache / dev / srcDevDebugProjectContainer.xml4QSKuA”。
我修复了在“要排除的文件”字段上添加** / var的问题,
请参阅以下步骤:
1º步骤:
2º步骤搜索“ exclude”(排除)单词,然后将** / var / cache添加为下图:
对我有用。
答案 6 :(得分:-1)
SYMFONY和ANTIVIRUS
在我的情况下,本地Windows机器中的多个symfony调用与一些防病毒软件(如NOD)交叉。从实时保护中排除symfony缓存文件夹