我正在使用Windows 10并在各种版本的Symfony上运行各种Sf项目,从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命令,而且还完全破坏了应用程序。在大多数情况下,它需要非常深入的干预才能让我简单地删除缓存目录(一些子目录具有如此疯狂的权限,即使管理员用户我无法删除它们并且必须首先与权限混合)。
这就是我现在正在使用的内容:
我的主要问题是:什么以这种疯狂的方式与这些权限混合? Apache + PHP在运行时创建缓存? Netbeans,即使它忽略了缓存和日志目标(理论上 - 我还没有明确地将它们忽略在NB中的列表中)? Git,即使是那些这些dirs在每个回购中都被忽略了(相当不可能)?我,通过cygwin运行CLI命令(也是不太可能)?
我一直在与它斗争很长时间无济于事......
你们对此有什么见解吗?感谢。
答案 0 :(得分:0)
我有类似的问题.... 直到我从xampp切换到laragon
我知道这听起来很奇怪,但就我而言,它解决了所有问题。
答案 1 :(得分:0)
Symfony提供了有关这些权限问题的文档: http://symfony.com/doc/current/setup/file_permissions.html
您可以在整个应用程序之前使用umask(002),也可以设置ACL。 ACL和umask都为所有新文件设置了默认访问权限。