如何更改 Drupal 站点的 localhost Windows 10 pro/docker/ddev 容器中的文件权限?

How to change file permissions in localhost Windows 10 pro/docker/ddev container for Drupal site?

我在 Windows 10 pro 系统上使用 Composer 安装了一个 drupal 8.8 站点,docker 和 ddev 作为开发环境。

drupal 站点似乎运行正常:我在 drupal 日志中和 运行 ddev 描述时都没有看到任何错误。

唯一的例外:Drupal 警告我 sites/default/settings.php 需要写保护。过去,我曾在使用 Filezilla 的实时网站上完成过此操作,但这是一个仅限开发的网站,而且 Filezilla 似乎没有对本地文件应用权限——至少,当我在本地右键单击该文件时,我没有找到更改权限的命令。

我尝试用 Windows 10 本身更改写入权限,但这似乎没有任何效果——我怀疑 windows 那些是不同类型的权限。

我在网上四处闲逛,看到一些东西让我觉得我可以使用 phpmyadmin 来更改权限。陷入其中并为此苦苦挣扎,直到在这里得到一些帮助(),但事实证明您显然无法使用 phpmyadmin 更改文件权限。

我试图在我的浏览器中使用将我连接到 phpmyadmin 的地址来连接 Putty,但是 Putty 告诉我该主机不存在。

所以我正在寻找帮助:如何在 Windows 10 pro localhost 运行ning [=31= 中更改 sites/default/settings.php 的文件权限] 我的 drupal 站点的开发环境?

谢谢!

我猜你是在谈论这个警告?

首先,你可以完全忽略这个警告。您在本地开发环境中,因此您不应该担心 settings.php 的权限。

不幸的是,在 Windows 环境中,您不能像 Drupal 8 建议的那样进行简单的权限更改。

请注意 settings.ddev.php 明确提供 skip_permissions_hardening 选项,$settings['skip_permissions_hardening'] = TRUE; 告诉 Drupal 8 不要 尝试更改 sites/default 和 sites/default/settings.php 因为 它只是一个开发环境,因为当 Drupal 做这些事情时,它只会让事情变得更难。

但是,为了让 Windows 上的大多数事情变得更容易(并不能解决该问题)...

使用nfs_mount_enabled

我看到在 Windows 上构建的新 "official" Drupal 8.8.0 composer 存在很多问题。其中大部分是由于 composer build 对设置时间和所有权的能力做出了一些假设,但默认使用的 docker 挂载 (CIFS) 拥有 root 拥有的所有内容,因此容器无法更改权限 (甚至认为他们是敞开的)。

我发现我可以通过使用 NFS 挂载到容器中来解决所有这些问题,而且您还会发现它大大提高了性能。按照 https://ddev.readthedocs.io/en/stable/users/performance/#windows-nfs-setup

中的说明设置 NFS