Доброго времени суток!
Помогите, пожалуйста, разобраться с проблемой.
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).
Комментарии
Так у вас указана папка files/images, а вы ищите картинки /sites/default/files/styles/medium/public/image, наверное нужно создать files/images или указать иную папку
OMG, погуглите пожалуйста про image_styles в drupal.
ага, побежал
В том-то и дело, что изображения после обработки стилями изображения помещаются в папки /sites/defaults/styles/Стиль_изображения/public/путь_указанный_в_поле_Image, в зависимости от выбранного стиля.
При отсутствии, папки внутри styles/public должны создаваться автоматически. В моём случае папки images автоматически не создались. Но даже после создания их вручную, изображения туда не копируются.
ЗЫ. И, таки, да, папка /files/images существует и туда оригинальные изображения копируются.
Вообщем, если папка явно указана то картинки туда и сохраняются вне зависимости от стиля, но и в стилях должна быть одноименная папка с обработанной картинкой, просто я к тому, что у вас папка прописана как images, вот и должна там быть /sites/default/files/styles/medium/public/images, а не /sites/default/files/styles/medium/public/image.
Пропишите просто images , а не files/images
Ах, Вы про это. Так, то я просто очепятался в первом посте. Конечно же, папки везде images.
Извиняюсь за очепятку, исправляю.
Родительскую папку /files указал, чтобы было понятнее. В настойках поля прописана просто папка "images".
Вобщем, проблема не с путями, ибо Drupal автоматически должен раскидывать изображения по папкам. Проблема в том, что в /images оригинальное изображение загружается, а обработанные стилями не создаются. И даже не понятно они вообще обрабатываются или нет. В логах никаких намёков на ошибки.
Пропишите просто каталог, например news, не используйте слэшь
Это я в курсе.
У вас написано, что каталог такой files/images, уберите files и слэшь
php-gd установлен в системе?
Извините, постом выше я уже написал
Да.
А что в логах сервера? Да и в логах друпала кстати тоже должна быть ругань на невозможность записи.
В том-то и дело, что в error.log ничего не добавляется, а в лог Друпала добавляется только запись о добавлении материала (тип записи "content") и всё.
Если скрипт пытается записать что-то и не может, то должен быть отлуп permission denied. Может оно не пытается даже? Ну не знаю, стили отключены или ещё что-то в этом духе.
Вот и я недоумеваю. Стили включены.
ЗЫ. Точно такой же сайт на хостинге работает нормально, а на локале такой затык.
Стоп, мне вот тут вдруг подумалось: а там ведь генерация картинок идёт только в момент обращения к соответствующему размеру, а не при заливке.
Загляните в "Отчет о состоянии" (Меню "Отчеты")
Может там что-то прояснит ситуацию..
Например, на хосте сразу генерируется. Там же после отправки, сразу открывается материал на просмотр.
Ничего, что помогло бы решить проблему, там не наблюдаю. Хотя, интересный момент есть. Отчёт дает предупреждение, что файлы конфигурации не защищены от записи, хотя на них права - 444.
На мой взгляд там что то с конфигами линукса. У меня на локалке, правда не друпал, тоже картинки не отображались, проблема была в путях,т.е. он подставлял в путь localhost, стоял сайт как обячно в каталоге www, решилось просто перенесением в домашнюю директорию и настройкой с отсутствием localhost в пути
Какие у вас выставлены права на каталог tmp? Должно быть 755, я так понимаю, что картинки он из кеша подгружать должен
хотя нет, я ошибаюсь, на локалке даже каталога такого нет
В конфиге апача поднять уровень логгирования. Чудес не бывает, если файл не создан, то это ошибка, а ошибка должна быть в каком-то логе.
Настроен вируальный хост.
/tmp 777
LogLevel debug
Весь лог тащить не стал.
[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
Попробуйте так:
Создайте .htaccess в папке images, вот с этим содержанием:
SetHandler none
</Files>
На локалке используется системный /tmp.
Зачем в images? Туда оригинал закидывается.
Или во всех подпапках images в папке styles? То бишь для каждого стиля делать?
images, которая в стилях, если ее нет создайте вручную с правами 775, вы не одиноки эта проблема много раз уже обсуждалась на зарубежных форумах ответа пока не нашел в чем проблема
Вот, если что https://www.drupal.org/forum/support/post-installation/2015-06-16/image-...
В стилях папки создал вручную ещё утром. Права 775. Не помогло.
У меня ощущение, что не поступает команда на обработку изображения согласно стилей. Но почему так не могу въехать.
Мож на другом хостинге развернуть?
Проблема не на хостинге, проблема на локальном. На хостинге работает как должно.
После некоторых дополнительных экспериментов временно решил вопрос.
В настройках отображения формы заменил тип поля с Image на Image Insert. Теперь изображение обрабатывается стилями и доступно во всех стилях.
Но хотелось бы разобраться почему не срабатывает с Image. На хосте, да и на другом развёрнутом сайте на другом локале работает с Image.
Столкнулся с такой же проблемой на Drupal 8. Всё сделал как по этой ссылке: https://www.drupal.org/forum/support/post-installation/2015-06-16/image-.... И ещё Установил Devel и очистил кеш с помощью него. После чего, всё заработало - все файлы стилей появились в необохдимых папках на сервере.