【问题标题】:Drupal 7 file system error: The directory sites/default/files exists but is not writable and could not be made writableDrupal 7 文件系统错误:目录sites/default/files 存在但不可写且无法写入
【发布时间】:2011-04-24 02:56:41
【问题描述】:

我正在将 Drupal 7 安装从一台机器复制到另一台机器。两台机器都是运行当前版本的 MAMP 的 Mac OSX。程序如下:

  1. 创建 sql 转储文件
  2. rsync -ar path/to/source path/to/destination
  3. chmod -R 755 destination/sites/default/files
  4. chown -R username destination
  5. 导入 sql 转储文件
  6. 调整 settings.php(实际上,它们在不同环境中保持不变,只是检查 db connect info 和 $base_url。)

一切都在这里,在目标端,除了站点/默认/文件目录不能被写入[原文如此]。目录树和/或权限中的某些内容正在更改,但我无法弄清楚是什么/如何。什么给了?

【问题讨论】:

    标签: drupal drupal-7


    【解决方案1】:

    sites/default/files 需要对 Web 用户可写,或对所有用户都可写。

    所有用户:

    chmod -R a+w 目标/站点/默认/文件

    或者,让 apache(或者你的网络用户是谁)成为所有者

    chown -R apache:apache 目的地/站点/默认/文件

    注意:755 和 777 将所有内容设置为可执行文件。 777本来可以的,只是不合适。目录需要可执行权限,但文件一般不应该是可执行的,除非需要。

    我个人更喜欢让 apache 成为文件目录和其中所有内容的所有者,因为这就是 Drupal 写入文件时无论如何都会发生的事情。

    【讨论】:

    • 如果您使用的是 aegir,请执行 chown -R aegir:apache destination/sites/default/files
    • chmod -R a+w destination/sites/default/files 工作正常。谢谢
    【解决方案2】:

    您可能需要在目录上运行 restorecon,例如:

    restorecon -rv default/
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-29
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多