3

我们有一个包含两个图像字段/文件字段字段的内容类型我们的站点迁移到新服务器后,我们遇到了以下问题:

当我们为此内容类型提交一个新项目时,这些字段有两个图像,drupal 给我们以下错误并且不上传图像:

警告:fopen(sites/default/files/.htaccess)[function.fopen]:无法打开流:第 349 行 /websites/sitename/data/sites/all/modules/filefield/field_file.inc 中的权限被拒绝。警告: fopen(sites/default/files/.htaccess) [function.fopen]: 无法打开流: 第 349 行 /websites/sitename/data/sites/all/modules/filefield/field_file.inc 中的权限被拒绝。图片无法创建缩略图。警告:fopen(sites/default/files/.htaccess)[function.fopen]:无法打开流:第 349 行 /websites/sitename/data/sites/all/modules/filefield/field_file.inc 中的权限被拒绝。警告:fopen(sites/default/files/.htaccess)[function.fopen]:无法打开流:/websites/sitename/data/sites/all/modules/filefield/field_file.inc 第 349 行中的权限被拒绝。

我知道这是一个权限错误,但我不清楚我必须在哪里更改权限。file.inc 的第 349 行代码如下:

  if (($fp = fopen("$directory/.htaccess", 'w')) && fputs($fp, $htaccess_lines)) {
      fclose($fp);
      chmod($directory .'/.htaccess', 0664);
    }
    else {
      $repl = array('%directory' => $directory, '!htaccess' => nl2br(check_plain($htaccess_lines)));
      form_set_error($form_item, t("Security warning: Couldn't write .htaccess file. Please create a .htaccess file in your %directory directory which contains the following lines:<br /><code>!htaccess</code>", $repl));

*编辑:已解决,问题是由于某种原因drupal 需要在sites/default/files 文件夹中的写权限来创建一个.htaccess 文件。

4

1 回答 1

6

file.inc 中的代码想要更新/创建.htaccess文件目录中的文件(在您的情况下为“si​​tes/default/files”)。它失败可能意味着您的 Web 服务器进程'根本没有文件目录中的写入权限(不太可能,因为这会在后端产生更突出的错误),或者该.htaccess目录中已经存在一个已设置的文件只读(更有可能发生在迁移时,并且很容易被忽略,因为默认情况下文件是隐藏的)。

于 2010-05-10T17:53:07.527 回答