Поставил модуль ImageAPI ImageMagick, в Drupal его подцепил, система сообщает:
Конфигурация сохранена
ImageMagick, команда: /usr/bin/convert -version
ImageMagick, ответ: Version: ImageMagick 6.7.8-9 2019-02-01 Q16 http://www.imagemagick.org Copyright: Copyright (C) 1999-2012 ImageMagick Studio LLC Features: OpenMP
т.е. в теории модуль должен работать. Однако фотографии при попытке развернуть в полный экран говорят - файл не найден (ничего не говорит но рисунок выдает такой, перечеркнутый фотоаппарат)
Как-то ещё надо связать модуль с друпалом?
Комментарии
Файлы на месте?
Как настроен веб-сервер на отдачу статики?
Модуль и Drupal тут вообще в сторонке просто стоят.
Что значит файлы на месте? Эти файлы автоматически формируются из исходников. Модуль gd нормально отрабатывает. Но в исходом сайте используется именно imagemagic.
На счёт статики не понял.
То что модуль "в сторонке" понятно, но когда я его настраиваю в друпал он же говорит что модуль есть и настроен. Почему же из галереи он не работает?
Мой вопрос сугубо потому что вы даете либо минимум информации, либо много, но не той.
Если вы уверены, что запрос доходит до друпала и не происходит генерация - читайте логи, друпала и php.
Может быть миллион причин, от неверных прав до того, что у вас старая версия библиотеки, а центос это тот ещё сарай со старым хламом, и формат файла не поддерживается
Конкретнее пожалуйста, где посмотреть. Стандартные логи сайта смотрел. Там просто говорится, что данного файла нет.
Если хотите помочь, скажите где именно что смотреть и как можно протестировать.
Если нет то и не надо ничего писать.
PS На счёт сарая. Это не место где обсуждается операционка.
Окей, давайте сначала.
Кто вам даёт 404 ошибку? Друпал или веб-сервер?
Так, что бы не путаться в терминах и определениях. Вот что пишется в логе сайта:
а вот что в этот момент отдаёт страничка:
В логах где то была ошибка 404, но сейчас понятно, что это не касалось данной проблемы.
Окей, ошибка 500.
Теперь нужно смотреть лог ошибок PHP, выше - это логи доступа
странно, в теории лог php включен, но вывода никакого нет...
Показ ошибок в браузер хоть включите тогда
[root@www etc]# cat php.ini | grep displ
display_errors = On
В какой то момент на экран вышло что то подобное:
При попытке прогонять эту команду в консоле ничего не происходит, ни ошибок, нифига... мне кажется что ImageMagick как-то не так отрабатывает.
Но почему php лог не выдаёт, вообще не понимаю...
Как включить вывод ошибок в PHP
Первым способно он и так включен.
Вчера делал ошибку, в копипасте лишка прихватывал.
Команда отрабатывает.
Что теперь я предполагаю исходя из полученных данных. В том выводе даётся имя файла "199.jpg", а в папке такого файла нет, но есть "№199.jpg".
В общем как я понимая проблема в коде который формирует строку для ImageMagick.
Что-то PHP7 не так отрабатывает как PHP5, вероятно.
Теперь найти бы этот код PHP который формирует эту строку, и посмотреть чего в ней не так и как она "подрезает" имя файла...
Кстати подобная "фишка" с символом № и при загрузки фото в галерею. Но это вот уже совсем не критично - файл сменит наименование ещё до загрузки, и соответственно потом галерея работает нормально.
И мы снова приходим к веб-серверу и тому как он у вас настроен.
Виктор, я не сомневаюсь в вашей гениальности, но пишите только по делу.
Я не знаю других способов вытаскивать из вас информацию по делу.
Такое ощущение, что проблему нужно решить мне, а не вам.
Конкретные вопросы были заданы в первых комментариях, вы их упорно игнорируете и ждёте, что придёт некто, кто знает, что же за магическая ошибка у вас возникает
Давайте начнём с начала - на какие вопросы я не ответил? На счёт статики - так я и написал, что мне ваш вопрос не ясен. -Уточнений не последовало.
Файлы ясен перец на месте - это понятно из моих сообщений.
Какой был ещё вопрос на который я не ответил?
Давайте начнём с начала.
До сих пор нет ответов, что у вас за веб-сервер и как он настроен.
То что вы скажете "Стандартно как центосе" никакой информации никому не даст, но да, мы же тут не центось обсуждаем, к делу не относится по вашему мнению.
Логов ошибок так и нет, если вы их настроили и их нет - значит вы их не настроили. Независимо от того, что вы и куда вписывали.
Вместо диагностики вы занимаетесь какими-то странными экспериментами.
Сейчас вы решили, что дело в том, что в имени файла есть "№", а файлы без "№" у вас работают?
Вебсервер
Логов ошибок нет потому как ошибок нет. - В конце концов там появилось 3 строки и все,
это сегодня уже веселился с разными модулями.
То что в дисплей сообщения идут я выдал выше.
Если включаю GD - все галереи работают и фото отдаются и ресайзятся.
Если включаю ImageMagick и попадаю на файл без номера - фото работает. Если загружаю файл (при включенном ImageMagick) фото нормально отрабатывает.
Ещё раз повторю. При обновлении страницы выдаются строки по которым видно что строка для ImageMagick формируется не правильно - вместо файла №199.jpg ему отдаётся имя 199,jpg - которого естественно НЕТ.
на все вопросы дал ответ?
nginx перед Apache есть?
Нет
По тексту патча очень похоже на проблему аналогичную вашей.
На D6 патч нужно портировать
https://www.drupal.org/project/imageapi_optimize/issues/2839260
Т.е. это проблема в самом модуле imagemagick?
Вообще я так понимаю, что есть сам конвертер и есть api модуль, который взаимодействует с конвертером. Но вот в самом ли модуле формируется строка для конвертера, или дополнительным php кодом где-то в друпале - не понимаю.
Перерыл всё что смог предположить, но ничего не нашел.
Попробую изучить ссылку поглубже, в исходники заглянуть, может чего и нарою.
Я не знаю в чём ваша проблема.
Но вполне допускаю, что утилита convert требует санитации и/или конверта спецсимволов в именах.
В связи с этим, в модуле может быть аналогичный функционал для этого.
Который далеко не факт, что будет работать правильно, спецсимволы и локали отличные от латиницы в именах файлов в вебе принято вырезать.
Исходный сайт то работает нормально...
За идею спасибо, буду в этом плане смотреть.
Вчера не сообразил сразу что здесь этого не писал - при выполнении команды из консоли
конвертер нормально отрабатывает, поэтому сам конвертер в порядке. Проблема именно в подготовке самой строки для исполнения.
Попробую порыть в направлении api модуля и ASCII (https://www.drupal.org/project/image/issues/352262) возможно что это где-то рядом
странно, но при установки того же самого на FreeBSD эта связка (ImageAPI ImageMagick + Drupal6LTS) работает нормально. Чудны дела!