Стили эскизов изображений не создаются

Я перемещаю веб-сайт на производственном сервере, и кажется, что миниатюры изображений не создаются из поля изображения в контенте.

Изображения загружаются правильно, но файлы в папке стилей не создаются. Я уже установил в 0777 каждую папку в случае проблемы с разрешением, но это не так.

Большая проблема заключается в том, что я не могу удалить изображения, возможно потому, что он создает запрещенный файл, поскольку он не существует. Единственный журнал ошибок, который я могу найти, - это отказ в доступе, но ничего больше.

Есть ли у кого-то такая же проблема?

Это нормально работает на локальном ... может быть, проблема с Apache?

 введите описание изображения здесь>> </a> </p></body></html>

4 голоса | спросил Serge Pesse 13 J0000006Europe/Moscow 2016, 20:48:57

4 ответа


7

Решение для Drupal 8, которое работало для меня :

  • создать папку /папку по умолчанию /файлы /стили вручную
  •   
  • установить свои права на 775
  •   
  • создайте файл .htaccess в этой папке со следующим содержимым:
<Files *>
  SetHandler none
</Files>
ответил MiSHuTka 9 Jpm1000000pmMon, 09 Jan 2017 16:24:37 +030017 2017, 16:24:37
1

Из settings.php Drupal 8, попробуйте добавить следующее:

$config['image.settings']['suppress_itok_output'] = TRUE;
$config['image.settings']['allow_insecure_derivatives'] = TRUE;

suppress_itok_output = True для удаления itok-маркера из образа.

ответил JohnTang 8 22016vEurope/Moscow11bEurope/MoscowTue, 08 Nov 2016 17:39:27 +0300 2016, 17:39:27
1

Я использовал этот код фрагмента, который заставляет drupal создавать стиль изображения для изображения:

$styles = ImageStyle::loadMultiple();
$image_uri = $entity->getFileUri();
/** @var \Drupal\image\Entity\ImageStyle $style */
foreach ($styles as $style) {
  $destination = $style->buildUri($image_uri);
  $style->createDerivative($image_uri, $destination);
}

этот код можно использовать в функции, повторяющейся в группе узлов, выбрать их изображение и создать стили для них или может быть используется для загрузки файлов , поэтому в любое время, когда изображение загружается, стили создаются вручную.

ответил Alireza Tabatabaeian 24 Jam1000000amWed, 24 Jan 2018 00:37:51 +030018 2018, 00:37:51
0

Иногда это связано с нечетным пространством в одном из ваших модулей или файлов PHP до открытия PHP-тега ... например:

_
<?php

/**
 * Stuff here.
 */

Эта небольшая строка, в которой присутствует символ подчеркивания, может привести к тому, что эскизы будут разбиты на первый рендер. См .: Стили изображений, не сгенерированные при загрузке первой страницы, пока страница не обновится на Drupal.org.

Чтобы узнать, может ли это быть вашей проблемой, grep всей вашей кодовой базы для любых файлов, имеющих новую строку, а затем тег <?php. В моем случае я обнаружил, что в модуле Contrib Styles Contrib имеется подмодуль с новой строкой перед открывающим тегом, и это вызвало довольно много горя!

ответил geerlingguy 23 FebruaryEurope/MoscowbThu, 23 Feb 2017 01:27:47 +0300000000amThu, 23 Feb 2017 01:27:47 +030017 2017, 01:27:47

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132