Пользуясь виртуальным выделенным сервером (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 произведена успешно.