我能';t在将Drupal站点迁移到新服务器后上载文件

我能';t在将Drupal站点迁移到新服务器后上载文件,drupal,drupal-6,drupal-files,Drupal,Drupal 6,Drupal Files,我们有一个包含两个imagefield/filefield字段的内容类型,将站点迁移到新服务器后,出现以下问题: 当我们提交此内容类型的新项目时,这些字段有两个图像,drupal会给出以下错误,并且不会上载图像: 警告: fopen(sites/default/files/.htaccess) [function.fopen]:打开失败 流:中的权限被拒绝 /网站/sitename/data/sites/all/modules/filefield/field\u file.inc 第349行。警

我们有一个包含两个imagefield/filefield字段的内容类型,将站点迁移到新服务器后,出现以下问题:

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

警告: fopen(sites/default/files/.htaccess) [function.fopen]:打开失败 流:中的权限被拒绝 /网站/sitename/data/sites/all/modules/filefield/field\u file.inc 第349行。警告: fopen(sites/default/files/.htaccess) [function.fopen]:打开失败 流:中的权限被拒绝 /网站/sitename/data/sites/all/modules/filefield/field\u file.inc 第349行。显示了一个图像缩略图 无法创建。警告: fopen(sites/default/files/.htaccess) [function.fopen]:打开失败 流:中的权限被拒绝 /网站/sitename/data/sites/all/modules/filefield/field\u file.inc 第349行。警告: fopen(sites/default/files/.htaccess) [function.fopen]:打开失败 流:中的权限被拒绝 /网站/sitename/data/sites/all/modules/filefield/field\u 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文件。

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

谢谢,就是这样。Drupal试图在sites/default/files中创建一个htcaccess文件。我们在CENTOS/PLESK服务器上经常看到这个文件。我们不得不继续使用“chown”或“chown”文件属于apache组,或者给予它们更宽松的写入权限。