【发布时间】:2017-08-17 06:28:31
【问题描述】:
我正在使用 Windows 10 并在从 2.3 到 3.2 的各种版本的 Symfony 上运行各种 Sf 项目。从那以后(在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 上);
- 带有 PHP 7.1 和 Apache 2.4 的 XAMPP(也发生在带有 PHP 5.6 和 5.4 的旧版本上);
- Netbeans 8.2 作为 IDE(以前的版本也发生过);
- cygwin 运行 CLI 命令;
- 混帐。
我的主要问题是:什么以如此疯狂的方式与这些权限混合在一起? Apache+PHP 同时在运行时创建缓存? Netbeans,即使它忽略了缓存和日志目录(理论上 - 我没有专门将它们放在 NB 中的忽略列表中)? Git,即使是这些目录在每个回购中都被忽略(不太可能)?我,在通过 cygwin 运行 CLI 命令时(也不太可能)?
苦苦挣扎了好久都没用……
你们对此有什么见解吗?谢谢。
【问题讨论】:
标签: windows symfony caching permissions ntfs