Логин:
Пароль:

Установка Imagick для PHP 7.3 в CentOS 6

Пользуясь виртуальным выделенным сервером (VPS/VDS) или сервером Dedicated у Вас может возникнуть необходимость в установке модуля ImageMagick (Imagick) для PHP 7.3 в ОС CentOS 6. При попытке стандартной установки модуля через процедуру pecl install imagick в консоль будет выведена ошибка об устаревшей версии утилиты autoconf:

configure.ac:3: error: Autoconf version 2.68 or higher is required
configure.ac:3: the top level
autom4te: /usr/bin/m4 failed with exit status: 63
ERROR: `phpize' failed

Поэтому установка потребует иного подхода к этой задаче.

Сразу же стоит оговориться, что в данной статье путь до директории с PHP 7.3 будет представлен, как /opt /php-73, у Вас путь до PHP может быть другим, например: /usr или /usr/local. Также оговорим условия, что в системе установлены пакеты ImageMagick, ImageMagick-devel, присутствуют файлы phpize и php-config, выполнена настройка yum для работы с репозитариями vault.centos.org.

Подготовительный этап

В CentOS 6 существует возможность установить autoconf версии 2.68, который находится в репозитарии EPEL. Первым шагом давайте установим данный репозитарий, если он отсутствует в Вашей системе.

Выполним команду:

yum install -y https://archives.fedoraproject.org/pub/archive/epel/6/x86_64/epel-release-6-8.noarch.rpm

Теперь установим autoconf-2.68. Для чего введём:

yum install -y autoconf268.noarch

Убеждаемся, что autoconf-2.68 успешно установлен. Команда:

rpm -qa | grep autoconf268

В выводе которой должен быть пакет autoconf268 (например: autoconf268-2.68-2.el6.noarch).

Наверное, Вы уже обрадовались и попытались установить модуль Imagick для PHP 7.3 стандартным способом, но тут же опять столкнулись с ошибкой об устаревшей версии утилиты autoconf. Все верно, так и должно было случиться… Пакет autoconf268 устанавливает исполняемый файл в /usr/bin/autoconf268.

Продолжаем, и делаем еще один шаг. Скачиваем модуль Imagick с сайта pecl.

/opt/php-73/bin/pecl download Imagick

В результате успешной загрузки должно появиться сообщение об успешной загрузке архива, где также будет указан путь до него, например: «File /opt/imagick-3.4.4.tgz downloaded».

Работа с исходником Imagick

Переходим в директорию с сохраненным архивом и распаковываем его:

cd /opt
tar -zxf imagick-3.4.4.tgz
cd imagick-3.4.4

Теперь последовательно вводим три магические команды:

/opt/php-73/bin/phpize
/usr/bin/autoconf268
/usr/bin/autoheader268

А дальше производим конфигурирование, компилирование и установку модуля Imagick.

./configure --with-php-config=/opt/php-73/bin/php-config
make
make install

В результате успешной установки на экран будет выведен путь до директории с модулем, в нашем случае:

Installing shared extensions: /opt/php-73/lib/php/extensions/no-debug-non-zts-20180731/

Также этот путь можно найти в выводе команды /opt/php-73/bin/php-config:

--extension-dir [/opt/php-73/lib/php/extensions/no-debug-non-zts-20180731]

Пропишем путь до модуля Imagick в файле php.ini:

extension=/opt/php-73/lib/php/extensions/no-debug-non-zts-20180731/imagick.so

На всякий случай после этого шага выполним перезагрузку веб-сервера (или сервера php-fpm).

Проверка установки Imagick

Если путь указан верно, то информация о модуле появится в phpinfo:

imagick
imagick module => enabled
imagick module version => 3.4.4

Установка модуля ImageMagick (Imagick) для PHP 7.3 в CentOS 6 произведена успешно.