2011-04-24 89 views
2

我正在复制Drupal 7安装从一台机器到另一台。这两款机器都是运行MAMP当前版本的Mac OSX。步骤如下:Drupal 7文件系统错误:目录网站/默认/文件存在,但不可写,并且无法写入

  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连接信息和$ base_url。)

除了站点/默认/文件目录不能写入[sic]之外,在此处的所有内容都适用于目标端。目录树中的某些内容和/或权限正在改变,但我无法弄清楚什么/如何。是什么赋予了?

回答

13

网站/默认/文件需要由网页用户写入,或者所有用户都可以写入。

所有用户:

搭配chmod -R一个+ W目的地/网站/默认/文件

,或者让Apache(或您的网络用户是谁)所有者

乔敦 - R的阿帕奇:apache destination/sites/default/files

注意:755和777将一切设置为可执行。 777会有效,这是不正确的。目录需要可执行权限,但除非需要,文件通常不可执行。

我个人更喜欢让apache成为文件目录的所有者和所有内容,因为在Drupal写入文件时会发生什么。

+0

如果您使用埃吉尔然后做'乔敦 - R的埃吉尔:阿帕奇目的地/网站/默认/ files' – littledynamo 2013-03-26 10:08:12

+0

搭配chmod -R一个+ w目标/网站/默认/文件工作正常。谢谢 – 2014-11-08 09:08:51

+0

我试过上面的问题,但问题仍然存在 – 2016-07-25 12:29:52

0

也许你需要对例如目录中运行的restorecon:

restorecon -rv default/