Как установить ImageMagick, ImageMagick-devel и PECL imagick на RHEL 8 - PullRequest
0 голосов
/ 28 февраля 2020

Похоже, ImageMagick и ImageMagick-devel удалены из RHEL 8.

Я добавил сторонние репозитории, такие как EPEL, REMI и RPMFusion.

Я могу установить замену GraphicsMagick для Imagemagick, но похоже, что Gmagick не совместим с ImageMagick на PHP уровне кода библиотеки.

Так что приведенный ниже метод не помогает ... для используемый мной плагин зависит от PHP Imagemagick, при использовании Gmagick для преобразования чего-либо в CLI он будет работать.

$ dnf install GraphicsMagick GraphicsMagick-devel GraphicsMagick-perl ghostscript
$ cd /usr/local/src
$ wget https://pecl.php.net/get/gmagick
$ tar xfvz gmagick $ cd gmagick-*
$ phpize 
$ ./configure
$ make
$ make installl
$ php --ini | grep 'Loaded Configuration File'
$ nano /etc/php.ini
// add extension to end of php.ini
extension=gmagick.so

При попытке установить ImageMagick

$ sudo yum install ImageMagick-devel

No match for argument: ImageMagick-deval
Error: Unable to find a match: ImageMagick-deval

$ pecl install imagick

checking whether to enable the imagick extension... yes, shared
checking for pkg-config... /bin/pkg-config
checking ImageMagick MagickWand API configuration program... checking
Testing /usr/local/bin/MagickWand-config... Doesn't exist
checking Testing /usr/bin/MagickWand-config... Doesn't exist
checking Testing /usr/sbin/bin/MagickWand-config... Doesn't exist
checking Testing /opt/bin/MagickWand-config... Doesn't exist
checking Testing /opt/local/bin/MagickWand-config... Doesn't exist
configure: error: not found. Please provide a path to MagickWand-config
or Wand-config program.
ERROR: `/var/tmp/imagick/configure --with-php-config=/bin/php-config
--with-imagick' failed

Is есть способ вручную установить ImageMagick, ImageMagick-devel и PECL Imagick на RHEL 8 (НЕ Gmagick)

РЕДАКТИРОВАТЬ

# dnf repolist
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Last metadata expiration check: 0:00:17 ago on Fri 28 Feb 2020 20:58:19 UTC.
repo id                                                                        repo name                                                                                                              status
*epel                                                                          Extra Packages for Enterprise Linux 8 - x86_64                                                                         4,916
*epel-modular                                                                  Extra Packages for Enterprise Linux Modular 8 - x86_64                                                                     0
remi-modular                                                                   Remi's Modular repository for Enterprise Linux 8 - x86_64                                                                 16
remi-safe                                                                      Safe Remi's RPM repository for Enterprise Linux 8 - x86_64                                                             2,133
rhel-8-appstream-rhui-rpms                                                     Red Hat Enterprise Linux 8 for x86_64 - AppStream from RHUI (RPMs)                                                     8,566
rhel-8-baseos-rhui-rpms                                                        Red Hat Enterprise Linux 8 for x86_64 - BaseOS from RHUI (RPMs)                                                        3,690
rhui-client-config-server-8                                                    Red Hat Update Infrastructure 3 Client Configuration Server 8                                                              6
rpmfusion-free-updates                                                         RPM Fusion for EL 8 - Free - Updates
# yum install ImageMagick-devel
Error:
 Problem: conflicting requests
  - nothing provides jasper-devel needed by ImageMagick-devel-6.9.10.86-1.el8.x86_64
  - nothing provides OpenEXR-devel needed by ImageMagick-devel-6.9.10.86-1.el8.x86_64
  - nothing provides ghostscript-devel needed by ImageMagick-devel-6.9.10.86-1.el8.x86_64
  - nothing provides lcms2-devel needed by ImageMagick-devel-6.9.10.86-1.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)

РЕШЕНО - https://www.imagemagick.org/script/install-source.php#unix

$ cd ImageMagick-7.0.9-26
$ ./configure
$ make
$ make install
$ sudo ldconfig /usr/local/lib
$ pecl install imagick
$ nano /etc/php.ini
// Add the following
extension=imagick.so

Работает после удаления Gmagick

Чистая попытка с

$ sudo dnf install ImageMagick
$ dnf install php73-php-pecl-imagick
# php --ini | grep 'Loaded Configuration File'
PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib64/php/modules/imagick.so (/usr/lib64/php/modules/imagick.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/imagick.so.so (/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
Loaded Configuration File:         /etc/php.ini

# ls
bz2.so       curl.so  fileinfo.so  gettext.so  json.so      mysqli.so   pdo_mysql.so   phar.so   simplexml.so  sysvmsg.so  tokenizer.so  xml.so
calendar.so  dom.so   ftp.so       iconv.so    mbstring.so  mysqlnd.so  pdo.so         posix.so  sockets.so    sysvsem.so  wddx.so       xmlwriter.so
ctype.so     exif.so  gd.so        intl.so     mcrypt.so    opcache.so  pdo_sqlite.so  shmop.so  sqlite3.so    sysvshm.so  xmlreader.so  xsl.so

Ничего не показано в php -m для imagick

# php -v
PHP Warning:  PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/lib64/php/modules/imagick.so (/usr/lib64/php/modules/imagick.so: cannot open shared object file: No such file or directory), /usr/lib64/php/modules/imagick.so.so (/usr/lib64/php/modules/imagick.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 7.3.5 (cli) (built: Apr 30 2019 08:37:17) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.5, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.5, Copyright (c) 1999-2018, by Zend Technologies

1 Ответ

1 голос
/ 29 февраля 2020

Похоже, вы пытаетесь установить модуль PHP imagick, имея при себе репо Remi. Так почему бы не установить непосредственно упакованный модуль вместо его компиляции?

Вместо pecl install imagick вы можете сделать что-то вроде dnf install php74-php-pecl-imagick. Фактическая команда зависит от того, хотите ли вы несколько PHP версий или замените версию по умолчанию, для подсказки используйте config wizard .

Тогда вам не понадобятся установленные пакеты -devel.

Если по какой-то причине вы не хотите полагаться на пакетную установку модуля PHP и действительно хотите скомпилировать, вам необходимо включить репо CodeReady Builder:

sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-*-rpms"
...