Я не могу загрузить файлы после переноса сайта Drupal на новый сервер - PullRequest
1 голос
/ 10 мая 2010

У нас есть тип контента с двумя полями imagefield / filefield , и после переноса нашего сайта на новый сервер у нас возникает следующая проблема:

Когда мы отправляем новый элемент для этого типа контента с двумя изображениями для этих полей, drupal выдает нам следующую ошибку и не загружает изображения:

предупреждение: Еореп (сайты / по умолчанию / файлы / .htaccess) [function.fopen]: не удалось открыть поток: в доступе отказано /websites/sitename/data/sites/all/modules/filefield/field_file.inc на линии 349. предупреждение: Еореп (сайты / по умолчанию / файлы / .htaccess) [function.fopen]: не удалось открыть поток: в доступе отказано /websites/sitename/data/sites/all/modules/filefield/field_file.inc на линии 349. Эскиз изображения был не может быть создан. предупреждение: Еореп (сайты / по умолчанию / файлы / .htaccess) [function.fopen]: не удалось открыть поток: в доступе отказано /websites/sitename/data/sites/all/modules/filefield/field_file.inc на линии 349. предупреждение: Еореп (сайты / по умолчанию / файлы / .htaccess) [function.fopen]: не удалось открыть поток: в доступе отказано /websites/sitename/data/sites/all/modules/filefield/field_file.inc на линии 349. Эскиз изображения был не может быть создан.

Я понимаю, что это ошибка прав доступа, но мне не ясно, где я должен изменить права доступа. Строка 349 файла file.inc имеет следующий код:

  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.

1 Ответ

4 голосов
/ 10 мая 2010

Код в file.inc хочет обновить / создать файл .htaccess в каталоге файлов («sites / default / files» в вашем случае). Отказ может означать, что процесс вашего веб-сервера 'вообще не имеет разрешения на запись в каталог файлов (маловероятно, так как это приведет к более заметным ошибкам в серверной части), или что в этом каталоге уже существует файл .htaccess который установлен только для чтения (скорее всего, это могло произойти при миграции и его легко можно пропустить, поскольку файл по умолчанию скрыт).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...