Проблема с Image (не загружаются фото в папки стилей изображения)

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 13:39

Доброго времени суток!

Помогите, пожалуйста, разобраться с проблемой.

Drupal 8.5.3
ОС - Линукс
Сервер - Apache2+php7.1+mariadb

Есть типы данных, в которых присутствуют поля типа Image. В настройках поля указана папка для загрузки изображения (files/images). В настройках отображения для "Default" выбран формат Image и стиль изображения "Large (480 x 480)", для "Анонс" выбран формат Image и стиль изображения "Medium (220 x 220)".

При создании материала и загрузке изображений происходит следующее: в папку "/sites/default/files/images/" изображение загружается, а в папки "/sites/default/files/styles/medium/public/images" и "/sites/default/files/styles/large/public/images" изображения не грузятся, соответственно не отображаются в материале (показывает альтернативный текст из поля Alt).

И нет никаких ошибок, ни в логах Drupal, ни в логах Апача.

Права на папку /sites/default/files/styles/ - 775 (владелец www-data:www-data).

0 Thanks

Комментарии

Аватар пользователя loup54 loup54 27 апреля 2018 в 17:43

Так у вас указана папка files/images, а вы ищите картинки /sites/default/files/styles/medium/public/image, наверное нужно создать files/images или указать иную папку

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 18:44
loup54 wrote:

Так у вас указана папка files/images, а вы ищите картинки /sites/default/files/styles/medium/public/image, наверное нужно создать files/images или указать иную папку

В том-то и дело, что изображения после обработки стилями изображения помещаются в папки /sites/defaults/styles/Стиль_изображения/public/путь_указанный_в_поле_Image, в зависимости от выбранного стиля.

При отсутствии, папки внутри styles/public должны создаваться автоматически. В моём случае папки images автоматически не создались. Но даже после создания их вручную, изображения туда не копируются.

ЗЫ. И, таки, да, папка /files/images существует и туда оригинальные изображения копируются.

Аватар пользователя loup54 loup54 27 апреля 2018 в 19:10

Вообщем, если папка явно указана то картинки туда и сохраняются вне зависимости от стиля, но и в стилях должна быть одноименная папка с обработанной картинкой, просто я к тому, что у вас папка прописана как images, вот и должна там быть /sites/default/files/styles/medium/public/images, а не /sites/default/files/styles/medium/public/image.
Пропишите просто images , а не files/images

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 19:20
loup54 wrote:

Вообщем, если папка явно указана то картинки туда и сохраняются вне зависимости от стиля, но и в стилях должна быть одноименная папка с обработанной картинкой, просто я к тому, что у вас папка прописана как images, вот и должна там быть /sites/default/files/styles/medium/public/images, а не /sites/default/files/styles/medium/public/image.

Пропишите просто images , а не files/images

Ах, Вы про это. Так, то я просто очепятался в первом посте. Конечно же, папки везде images.
Извиняюсь за очепятку, исправляю.

Родительскую папку /files указал, чтобы было понятнее. В настойках поля прописана просто папка "images".

Вобщем, проблема не с путями, ибо Drupal автоматически должен раскидывать изображения по папкам. Проблема в том, что в /images оригинальное изображение загружается, а обработанные стилями не создаются. И даже не понятно они вообще обрабатываются или нет. В логах никаких намёков на ошибки. :(

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 19:21
loup54 wrote:

Пропишите просто каталог, например news, не используйте слэшь

Это я в курсе. :)

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 20:01
loup54 wrote:

У вас написано, что каталог такой files/images, уберите files и слэшь

Извините, постом выше я уже написал

Kaylang wrote:

Родительскую папку /files указал, чтобы было понятнее. В настойках поля прописана просто папка "images".

fairrandir wrote:

php-gd установлен в системе?

Да.

gd
GD Support enabled
GD headers Version 2.2.5
GD library Version 2.2.5
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.6.1
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 8
PNG Support enabled
libPNG Version 1.2.54
WBMP Support enabled
XPM Support enabled
libXpm Version 30411
XBM Support enabled
WebP Support enabled

Аватар пользователя Phantom63rus Phantom63rus 27 апреля 2018 в 20:12

А что в логах сервера? Да и в логах друпала кстати тоже должна быть ругань на невозможность записи.

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 20:30
Phantom63rus wrote:

А что в логах сервера? Да и в логах друпала кстати тоже должна быть ругань на невозможность записи.

В том-то и дело, что в error.log ничего не добавляется, а в лог Друпала добавляется только запись о добавлении материала (тип записи "content") и всё.

Аватар пользователя Phantom63rus Phantom63rus 27 апреля 2018 в 21:27

Если скрипт пытается записать что-то и не может, то должен быть отлуп permission denied. Может оно не пытается даже? Ну не знаю, стили отключены или ещё что-то в этом духе.

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 21:53
Phantom63rus wrote:

Если скрипт пытается записать что-то и не может, то должен быть отлуп permission denied. Может оно не пытается даже? Ну не знаю, стили отключены или ещё что-то в этом духе.

Вот и я недоумеваю. Стили включены.

ЗЫ. Точно такой же сайт на хостинге работает нормально, а на локале такой затык. :(

image

Аватар пользователя Phantom63rus Phantom63rus 27 апреля 2018 в 22:02

Стоп, мне вот тут вдруг подумалось: а там ведь генерация картинок идёт только в момент обращения к соответствующему размеру, а не при заливке.

Аватар пользователя Orion76 Orion76 27 апреля 2018 в 22:04

Загляните в "Отчет о состоянии" (Меню "Отчеты")
Может там что-то прояснит ситуацию..

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 22:19
Phantom63rus wrote:

Стоп, мне вот тут вдруг подумалось: а там ведь генерация картинок идёт только в момент обращения к соответствующему размеру, а не при заливке.

Например, на хосте сразу генерируется. Там же после отправки, сразу открывается материал на просмотр.

Orion76 wrote:

Загляните в "Отчет о состоянии" (Меню "Отчеты")

Может там что-то прояснит ситуацию..

Ничего, что помогло бы решить проблему, там не наблюдаю. Хотя, интересный момент есть. Отчёт дает предупреждение, что файлы конфигурации не защищены от записи, хотя на них права - 444.

отчёт

Аватар пользователя loup54 loup54 27 апреля 2018 в 22:35

На мой взгляд там что то с конфигами линукса. У меня на локалке, правда не друпал, тоже картинки не отображались, проблема была в путях,т.е. он подставлял в путь localhost, стоял сайт как обячно в каталоге www, решилось просто перенесением в домашнюю директорию и настройкой с отсутствием localhost в пути

Аватар пользователя loup54 loup54 27 апреля 2018 в 22:54

Какие у вас выставлены права на каталог tmp? Должно быть 755, я так понимаю, что картинки он из кеша подгружать должен

Аватар пользователя Phantom63rus Phantom63rus 27 апреля 2018 в 23:00

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

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 23:38
loup54 wrote:

На мой взгляд там что то с конфигами линукса. У меня на локалке, правда не друпал, тоже картинки не отображались, проблема была в путях,т.е. он подставлял в путь localhost, стоял сайт как обячно в каталоге www, решилось просто перенесением в домашнюю директорию и настройкой с отсутствием localhost в пути

Настроен вируальный хост.

loup54 wrote:

Какие у вас выставлены права на каталог tmp? Должно быть 755, я так понимаю, что картинки он из кеша подгружать должен

/tmp 777

Phantom63rus wrote:

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

LogLevel debug
Весь лог тащить не стал.

[Fri Apr 27 22:22:10.963437 2018] [authz_core:debug] [pid 12365] mod_authz_core.c(809): [client 127.0.0.1:47082] AH01626: authorization result of <RequireAny>: granted, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:10.963453 2018] [core:info] [pid 12365] [client 127.0.0.1:47082] AH00128: File does not exist: /var/www/rusalps/web/sites/default/files/styles/thumbnail/public/images/RusDomAlps_2.jpg, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:29.376206 2018] [authz_core:debug] [pid 12367] mod_authz_core.c(809): [client 127.0.0.1:47086] AH01626: authorization result of Require all granted: granted, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:29.376288 2018] [authz_core:debug] [pid 12367] mod_authz_core.c(809): [client 127.0.0.1:47086] AH01626: authorization result of <RequireAny>: granted, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:29.376492 2018] [authz_core:debug] [pid 12367] mod_authz_core.c(809): [client 127.0.0.1:47086] AH01626: authorization result of Require all granted: granted, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:29.376519 2018] [authz_core:debug] [pid 12367] mod_authz_core.c(809): [client 127.0.0.1:47086] AH01626: authorization result of <RequireAny>: granted, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:29.531911 2018] [authz_core:debug] [pid 12367] mod_authz_core.c(809): [client 127.0.0.1:47086] AH01626: authorization result of Require all granted: granted, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:29.531954 2018] [authz_core:debug] [pid 12367] mod_authz_core.c(809): [client 127.0.0.1:47086] AH01626: authorization result of <RequireAny>: granted, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:29.532127 2018] [authz_core:debug] [pid 12367] mod_authz_core.c(809): [client 127.0.0.1:47086] AH01626: authorization result of Require all granted: granted, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:29.532151 2018] [authz_core:debug] [pid 12367] mod_authz_core.c(809): [client 127.0.0.1:47086] AH01626: authorization result of <RequireAny>: granted, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:29.768417 2018] [authz_core:debug] [pid 12368] mod_authz_core.c(809): [client 127.0.0.1:47088] AH01626: authorization result of Require all granted: granted, referer: http://rusalps.it/node/18
[Fri Apr 27 22:22:29.768448 2018] [authz_core:debug] [pid 12368] mod_authz_core.c(809): [client 127.0.0.1:47088] AH01626: authorization result of <RequireAny>: granted, referer: http://rusalps.it/node/18
[Fri Apr 27 22:22:29.768479 2018] [core:info] [pid 12368] [client 127.0.0.1:47088] AH00128: File does not exist: /var/www/rusalps/web/sites/default/files/styles/medium/public/images/RusDomAlps_2.jpg, referer: http://rusalps.it/node/18
[Fri Apr 27 22:22:29.772293 2018] [deflate:debug] [pid 12367] mod_deflate.c(853): [client 127.0.0.1:47086] AH01384: Zlib: Compressed 139103 to 18789 : URL /index.php, referer: http://rusalps.it/node/add/preview_number_journal
[Fri Apr 27 22:22:29.873477 2018] [authz_core:debug] [pid 12367] mod_authz_core.c(809): [client 127.0.0.1:47086] AH01626: authorization result of Require all granted: granted, referer: http://rusalps.it/node/18
Аватар пользователя loup54 loup54 27 апреля 2018 в 23:38

Попробуйте так:
Создайте .htaccess в папке images, вот с этим содержанием:

<Files *>
  SetHandler none
</Files>
Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 23:39
loup54 wrote:

хотя нет, я ошибаюсь, на локалке даже каталога такого нет

На локалке используется системный /tmp.

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 23:41
loup54 wrote:

Попробуйте так:

Создайте .htaccess в папке images, вот с этим содержанием:

<Files *>

  SetHandler none
</Files>

Зачем в images? Туда оригинал закидывается.

Или во всех подпапках images в папке styles? То бишь для каждого стиля делать?

Аватар пользователя loup54 loup54 27 апреля 2018 в 23:46

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

Аватар пользователя Kaylang Kaylang 27 апреля 2018 в 23:55
loup54 wrote:

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

В стилях папки создал вручную ещё утром. Права 775. Не помогло.
У меня ощущение, что не поступает команда на обработку изображения согласно стилей. Но почему так не могу въехать.

Аватар пользователя Kaylang Kaylang 28 апреля 2018 в 9:18
Phantom63rus wrote:

Мож на другом хостинге развернуть?

Проблема не на хостинге, проблема на локальном. На хостинге работает как должно.

После некоторых дополнительных экспериментов временно решил вопрос.
В настройках отображения формы заменил тип поля с Image на Image Insert. Теперь изображение обрабатывается стилями и доступно во всех стилях.

Но хотелось бы разобраться почему не срабатывает с Image. На хосте, да и на другом развёрнутом сайте на другом локале работает с Image.

Аватар пользователя Roger1956629 Roger1956629 16 сентября в 23:22

Столкнулся с такой же проблемой на Drupal 8. Всё сделал как по этой ссылке: https://www.drupal.org/forum/support/post-installation/2015-06-16/image-.... И ещё Установил Devel и очистил кеш с помощью него. После чего, всё заработало - все файлы стилей появились в необохдимых папках на сервере.