Проблема - не работают картинки на аватарках и прикрепляемые к, например, комментарию. Которые грузятся при создании записи (например) - работают нормально...
В чем может быть проблема? (сами картинки загружаются как таковые, но в указанных местах не отображаются (только текст вместо них))
Комментарии
Следует указать номер версии Друпала.
Какой HTTP-код ответа по запросам картинок?
версия 9.4.5
Вместо аватарки вот такое:
Html-код страницы умеете посмотреть? Что там?
PS И что в логе: /admin/reports/dblog
Не совсем )
Конкретно этот блок (участок с аватаркой):
эти картинки не отображаются вне зависимости от темы.
Так же картинка не отображается при ее непосредственном выборе в настройках профиля.
Я повторю вопрос: какой HTTP-статус приходит при загрузке битой картинки? 200 или 404 или 403 или другой...
Проверить можно либо из консоли, либо просто вбив URL картинки в строку браузера.
PS. А вообще - могли бы и ссылку на сайт дать.
А, в этом смысле.. 404 (если кликнуть "открыть изображение в новой вкладке" на тексте вместо нее)
Оно на локалке (ospanel)
Скорее всего не формируются стилизованные картинки. И скорее всего из-за неправильных прав доступа к директории /sites/default/files/styles. Или из-за неправильных настроек веб-сервера. И html-код лучше давать в текстовом виде - никто же не будет в здравом уме вручную перебивать с Вашего скриншота URL, который нужно попробовать.
Другой момент: судя по HTML коду на скриншоте - используется lazy-загрузка картинок. Возможно, причина в механике lazy load или её настройках. Например, тайм аута.
Ну если даже при прямом запросе картинки по адресу дает 404, то вряд ли дело в lazy.
Я начал комментарий до ответа ТС. Ну теперь-то да, понятно.
Кстати, причина вряд ли также в настройках папки /sites/default/files/styles или вебсервера поскольку (как уверяет ТС) в материалах картинки отображаются. Правда там может стиль и не используется.
Вы открывали изображение с параметром ?itok="..." (как в вашем HTML-коде) в конце URL ?
Да. Открывает: http://drupal/sites/default/files/styles/thumbnail/public/pictures/2022-...
Открывает в смысле показывает? И при этом ту же картинку в комменте не показывает?
Нет, в смысле такой адрес при открытии картинки.
Картинку показывает только в админке, в "содержимом".
А по такому адресу показывает?
http://drupal/sites/default/files/pictures/2022-09/DSC_0021.JPG
да
Ну значит не генерируются стили. Надо смотреть что в логах, какие настройки веб-сервера (какого?) в части несуществующих на диске картинок, какие права у директории /sites/default/files/. Работает ли image toolkit (какой?).
В папке Styles было пусто.
Создал в ней папки: thumbnail\public\pictures\2022-09, кинул туда картинку - аватарка появилась...
Так же заметил, что помимо default\files\pictures\2022-09, загружаемые картинки появились в default\files\2022-09 и default\files\inline-images...
Конкретнее?
Друпал стоит на OSPanel, отдельно ничего в локалке не настраивал
Какие именно логи нужны и после какого действия?
Сейчас заново загрузил аватарку - в "последние записи журнала" появляется 13 записей cron
Это винда что ли?! Самоустраняюсь.
К автору топика: я правильно понимаю, что картинки не грузятся только в комментариях (когда пользователь их загружает через редактор) и в профилях пользователя?
То есть, в материалах/нодах картинки грузятся нормально и тоже со стилем (т.е. НЕ оригиналы картинок)?
Из того что увидел - да.
По крайней мере в "материале" размер картинки сжимается под структуру(размеры) "блока"
как писал выше, получается что картинки грузятся в 3 разные папки...
Переставил друпал "начистую". Установка друпала, выбрана "стандартная установка", после нее захожу - загружаю аватар профиля - то же самое. Картинка грузится не в ту папку...
В какую, не в ту? И в какую должна?
Читайте выше..
Конкретно аватарка пытается взять картинку из default/files/styles/thumbnail/public/pictures/2022-09/, а грузятся они в default\files\pictures\2022-09
Судя по всему, всё, к чему применяются стили - не грузится. Я бы присмотрелся к совету marassa выше:
Почитайте как работают стили в друпале
Сейчас поставлено только то, что ставится друпалом по-умолчанию в варианте "стандартная установка".
Всё у вас правильно грузится. Прсто права на папку sites/default/files неправильные. Либо неправильный владелец папки.
Загрузка в 3 разные папки + корень сайта - это нормально? Тогда у друпала все печально...
Ок, допустим. Где\как это посмотреть?
Нашел, что такая хрень часто возникает на разных версиях друпала (видимо именно на локальных серверах), но нигде не нашел реального решения...
(https://drupal.ru/node/136823
https://www.drupal.org/forum/support/post-installation/2015-06-16/image-...)
Сделал это:
все пофиг...
Права к папкам - все права на чтение\запись и т.п. стоят, но на папку безвариантно ставится "только чтение" (если снять - тут же ставится галка обратно...)
На друпал нет какого-нибудь плагина, который "перехватывал" бы все действия с картинками и грузил все куда надо через себя?
Для одаренных линуксоидов - откройте первую ссылку в предыдущем посте:
Зачем мне это? У меня всё работает.
Я пять лет назад тоже вляпался в винду, потратил изрядное время на решение каких-то постоянных нелепых проблем типа Вашей, потом спросил себя - а зачем я трачу на это время? Абсолютно никаких навыков и знаний, полезных для реальной эксплуатации реального сервера на реальном хостинге я не получаю, только время трачу на какую-то полную херню. Перешел на Linux на хостинге, и сразу пошёл реальный прогресс.
В общем работают только те картинки, которые грузятся непосредственно при загрузке. Не работают (не создаются), остальные типы - миниатюры и т.п. (которые должны автоматом создаваться при загрузке основной картинки)
А что в журнале ошибок?
Ничего.
При загрузке новой картинки - в журнале (общем, 403 и 404) ничего не создается.
в Nginx-логе ospanel есть вот такое:
А если открыть картанку в новой вкладке, 404 страница стандартная nginx-овская или друпаловская с логотипом сайта?
Неверное понимание процесса. Картинки стилей (любые) физически создаются не "при загрузке основной картинки", а при первом обращении к, собственно, ним. То есть, пока браузер не запросит картинку со стилем по её определённому URL - её (картинки) не существует. Друпал имеет специальные роут и механизм для динамического создания таких картинок "на лету".
То, что картинка "грузится в нескольких папок" - это нормально. Точнее так: изначально есть папка, в которой хранится основное загруженное изображение. А вот папки внутри /sites/default/files/styles соответственно создаются при первом запросе картинки со стилем.
Ну тут не суть. Главное что этого не происходит )
стандартная вроде как (без каких-либо упоминаний друпала)
Тогда проблема в настройках nginx - он пытается обрабатывать стили изображений, как статические файлы, но он должен передавать эти запросы друпалу, чтобы друпал при необходимости генерировал картинку, либо отдавал готовую. Вот по этой ссылке нужный фрагмент в 31 строке
https://www.valuebound.com/resources/blog/drupal8-nginx-default
Действительно. Убрал использование nginx в настройках - все заработало как надо.
Благодарю за помощь, но тогда еще вопрос - "на практике" nginx для чего нужен ? (и нужен ли). Простая вставка блока из 31 строки в конфиг не канает..
Nginx это вебсервер. Он может работать один, а может стоять перед апачем для кэширования и быстрой отдачи статики
Скорее всего, у вас теперь вместо nginx используется Apache. И то, и другое - веб-серверы. Иногда используются вместе, но чаще по раздельности. Какой лучше - это очень обширный вопрос)) для простых проектов по большому счету без разницы. Но у apache есть большое преимущество для новичков - он конфигурируется через .htaccess и по умолчанию друпал уже содержит этот файл с базовыми настройками, достаточными для работы. А вот при использовании nginx все заботы о его конфигурации полностью ложатся на ваши плечи.
Конкретно у ospanel ест варианты - апач + пхп + нгинкс, апач + пхп и просто один нгинкс.
Критично ли использование нгинкса, или (по кэшированию и т.п.) его функции можно "продублировать" плагинами в самом сайте?
Нет, не критично. В вашем случае даже вредно. Одного апача вполне хватит, тем более для локалки
Понял )