【问题标题】:Problems with clearing cache and permissions on cache dir in Symfony2 projects on Windows在 Windows 上的 Symfony2 项目中清除缓存和缓存目录权限的问题
【发布时间】: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


    【解决方案1】:

    我也有类似的问题....
    直到我从 xampp 切换到 laragon

    我知道这听起来很奇怪,但就我而言,它解决了所有问题。

    【讨论】:

      【解决方案2】:

      Symfony 提供了有关这些权限问题的文档: http://symfony.com/doc/current/setup/file_permissions.html

      您可以在整个应用程序之前使用 umask(002),也可以设置 ACL。 ACL 和 umask 都为所有新文件设置了默认访问权限。

      【讨论】:

      • 我确实意识到这些文件夹需要足够的权限才能被 Apache 用户写入。这不是问题。问题是,即使我在缓存文件夹上设置了适当的权限,它们也会被覆盖并完全被某些东西弄乱。我不知道那是什么东西。并且 doc 什么也没说。
      • setfacl 将解决您的问题。正如文档中所说,如果您执行 setfacl -dRm ww-data:rwx your/folder 将为 ww-data 用户设置 rwx 权限。 R 参数表示递归。 -d 参数表示默认值。所以在你/文件夹中创建的所有新文件和文件夹都将继承默认权限(在前一种情况下,www-data 将具有 rwx 权限)
      猜你喜欢
      • 2018-05-22
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-15
      • 1970-01-01
      • 2012-04-14
      • 2020-06-25
      相关资源
      最近更新 更多