我正在研究Symfony项目.
当我尝试做:
php app/console cache:clear
Run Code Online (Sandbox Code Playgroud)
我得到以下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
Run Code Online (Sandbox Code Playgroud)
这里有什么问题?我已经在我的机器上为用户授予了所有权限(Windows 7操作系统).任何想法为什么会发生?
谢谢.
为了扩展leek的帖子,Symfony 2缓存清除操作在清理期间将缓存的项目拖放到不同的文件夹中.此过程的一部分包括创建cache/dev-new /和cache/dev-old/folders.
如果您正在使用Eclipse或其他动态监视项目中子文件夹的IDE,IDE将几乎立即发现新文件夹创建并在这些文件夹中查找新文件(在Eclipse中,我注意到DLTK模块在Progress View中不断地执行此操作).遗憾的是,这可能会妨碍想要重命名和/或删除这些文件夹的Symfony.
特别是在Windows 7 64位上使用Eclipse Indigo,您可以通过右键单击项目并选择"构建路径">"配置"来从构建路径中删除缓存/,缓存/ dev /,cache/dev_old /和cache/dev_new /文件夹.构建路径...".这最初对我没有影响; 我一直看到DLTK模块试图索引缓存文件夹.我最终卸载了Aptana Studio插件,关闭所有Editor文档,关闭Eclipse,手动删除缓存/文件夹中的子文件夹,运行Symfony缓存:清除,然后启动Eclipse并重新安装Aptana.似乎到目前为止已经奏效.
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);
//...
Run Code Online (Sandbox Code Playgroud)
您可能必须重新打开CLI两次并运行cache:clear,但此后它可以解决问题。
| 归档时间: |
|
| 查看次数: |
13106 次 |
| 最近记录: |