MediaWiki ошибка создания миниатюры. Решение проблемы!

Случается такое когда после установки, или чаще после переноса на новое оборудование сайта на движке MeidaWiki при загрузке изображений появляется вот такая досадная ошибка:

Ошибка создания миниатюры: /bin/bash: /usr/bin/convert: No such file or directory

Вот тогда уж действительно приходится покопаться в конфигурации движка и окружения, что бы понять суть проблемы. На самом же деле всё достаточно просто. Видно, что пользователь от которого работает сервер Apache/php пытается через bash выполнить такую команду:

/usr/bin/convert

Но в процессе выполнения получает ошибку:

No such file or directory

Я долго думал для чего надо вызывать этот файл. Оказалось всё проще простого. Это команда для программы imagemagick. Как оказалось она у меня не стояла на сервере и естественно я принялся её ставить. Думая, что нужно ставить как модуль PHP приписал следующее:

$ apt-get install php5-imagick // в случае php4 - php4-imagick

Как позже оказалось, надо ставить именно отдельную версию imagemagick для Linux Ubuntu в моём случае. Далее вызываю команду для установки самого пакета ImageMagick:

$ apt-get install imagemagick

Всё прошло успешно и после установки программы выдаёт данные по каким адресам обращаться для различных действий. Оказалось, что для конвертирования надо выполнять не /usr/bin/convert а /usr/bin/convert.im6. Понятное дело, что в конфигурационном файле MediaWiki записана старая команда и её надо изменить. Открываем файл LocalSetting.php и находим подобные строки (если не хватает — добавьте):

## To enable image uploads, make sure the 'images' directory
## is writable, then set this to true:
$wgEnableUploads       = true;
$wgUseImageResize      = true;
$wgUseImageMagick = true;
$wgImageMagickConvertCommand = "/usr/bin/convert";
#$wgImageMagickConvertCommand = "C:/Program Files/ImageMagick-6.3.2-Q16/convert";

В зависимости от ОС пути могут быть разными. В моём случае для Ubuntu, мне надо раскомментировать строку $wgImageMagickConvertCommand = "/usr/bin/convert"; и изменить путь до convert c "/usr/bin/convert" на "/usr/bin/convert.im6".
Вот и всё! Закачиваем новый файл конфигураций на рабочий сервер и перезапускаем его:

$ /etc/init.d/apache2 restart

Теперь все изображения в MediaWiki должны работать.

Естественно в каждом конкретном случаи пути надо указывать свои. Суть лишь в том, что в настройках MediaWiki движка надо правильно прописать этот путь к файлу convert. В Windows системах он так же может называться convert.exe. В общем главное, что бы у вас на сервере была установлена библиотека ImageMagick (убедиться в этом можно к примеру через php функцию phpinfo(), которая выводит всю сопутствующую информацию о PHP и сервере в целом) и знать точный путь до файла convert. В Windows серверах к примеру настройка переменной wgImageMagickConvertCommand может выглядеть так:

$wgImageMagickConvertCommand = "C:/Program Files/ImageMagick-6.3.2-Q16/convert.exe";

В общем думаю у вас всё получится.

Поделиться!
Tags: , , , , , , , , ,

49.74MB | MySQL:56 | 0,301sec