php 安装 imagick 时出错

php 安装 imagick 时出错

系统-CentOS 7.5.1804

PHP 版本 - 7.0.3

因此,我正在尝试安装 Imagick,以便能够从 PDF 的第一页渲染/制作图像。

我试图了解它是如何设置的,但我遗漏了一些东西,所以我将重现我目前所拥有的和所得到的内容:

在出现一长串错误之后,我最终进行了以下 4 次安装:

sudo rpm -Uvh ImageMagick-7.0.8-9.x86_64.rpm
sudo rpm -Uvh ImageMagick-libs-7.0.8-9.x86_64.rpm 
sudo yum install php70-php-pecl-imagick.x86_64
sudo php go-pear.phar

当我尝试运行此程序时:sudo /usr/bin/pecl install imagick,它给出了以下错误:

警告:频道“pecl.php.net”已更新其协议,请使用“pecl channel-update pecl.php.net”进行更新下载 imagick-3.4.3.tgz ... 开始下载 imagick-3.4.3.tgz (245,410 字节) ..............................................完成:245,410 字节 19 个源文件,正在构建:phpize 在 /usr/include/php 中找不到 PHP 标头 使用此命令需要 php-devel 包。错误:`phpize' 失败

因此,在检查“php-devel”是否存在后,我尝试安装它,并得到了以下信息:

错误:软件包:php-pecl-jsonc-devel-1.3.10-2.el7.remi.5.6.x86_64 (remi-php56) 要求:php-pecl-jsonc(x86-64) = 1.3.10-2.el7.remi.5.6 可用:php-pecl-jsonc-1.3.10-1.el7.remi.5.6.x86_64 (remi-php56) php-pecl-jsonc(x86-64) = 1.3.10-1.el7.remi.5.6

错误:软件包:php-pecl-jsonc-1.3.10-2.el7.remi.5.6.x86_64 (remi-php56)

要求: php(zend-abi)= 20131226-64

已安装:php-common-7.0.31-1.el7.remi.x86_64(@remi-php70) php(zend-abi)= 20151012-64 可用:php-common-5.4.16-45.el7.x86_64(base) php(zend-abi)= 20100525-64 可用:php-common-5.6.36-1.el7.remi.x86_64(remi-php56) php(zend-abi)= 20131226-64 可用:php-common-5.6.37-1.el7.remi.x86_64(remi-php56) php(zend-abi)= 20131226-64

错误:软件包:php-devel-5.6.37-1.el7.remi.x86_64 (remi-php56)

要求:php-cli(x86-64)= 5.6.37-1.el7.remi

已安装:php-cli-7.0.31-1.el7.remi.x86_64 (@remi-php70) php-cli(x86-64) = 7.0.31-1.el7.remi 可用:php-cli-5.4.16-45.el7.x86_64 (base) php-cli(x86-64) = 5.4.16-45.el7 可用:php-cli-5.6.36-1.el7.remi.x86_64 (remi-php56) php-cli(x86-64) = 5.6.36-1.el7.remi 可用:php-cli-5.6.37-1.el7.remi.x86_64 (remi-php56) php-cli(x86-64) = 5.6.37-1.el7.remi

错误:软件包:php-pecl-jsonc-1.3.10-2.el7.remi.5.6.x86_64 (remi-php56)

要求:php(api)= 20131106-64

已安装:php-common-7.0.31-1.el7.remi.x86_64(@remi-php70) php(api)= 20151012-64 可用:php-common-5.4.16-45.el7.x86_64(base) php(api)= 20100412-64 可用:php-common-5.6.36-1.el7.remi.x86_64(remi-php56) php(api)= 20131106-64 可用:php-common-5.6.37-1.el7.remi.x86_64(remi-php56) php(api)= 20131106-64

我做错了什么/我错过了什么?

答案1

您混合了一大堆手动下载的 RPM(其中一些是为错误版本的 PHP、Imagick 或其他软件构建的)和冲突的存储库。立即停止。不要手动下载 RPM。

你已经很好地使用了 Remi 的 PHP 存储库,但你已启用了他的 PHP 5.6 存储库,而你您想要 PHP 7.0。您需要禁用 remi-php56 repo 并启用 remi-php71 或 remi-php72 repo(7.0 已停用,请勿使用它)。

启用正确的 repo 后,使用yum distro-sync将所有错误版本的软件包替换为正确版本的软件包。您还需要删除从 SCL 或其他 repo 获取的一些软件包,例如名称以 开头的软件包php70-

最后,您可以安装所需的包:

[root@llothien ~]# yum install php-pecl-imagick
Loaded plugins: product-id, search-disabled-repos, subscription-manager
epel/x86_64/metalink                                     |  14 kB     00:00     
epel                                                     | 3.2 kB     00:00     
error-rl                                                 | 3.0 kB     00:00     
mariadb                                                  | 2.9 kB     00:00     
nginx                                                    | 3.5 kB     00:00     
remi                                                     | 2.9 kB     00:00     
remi-php72                                               | 2.9 kB     00:00     
remi-safe                                                | 2.9 kB     00:00     
rhel-7-server-extras-rpms                                | 3.4 kB     00:00     
rhel-7-server-optional-rpms                              | 3.5 kB     00:00     
rhel-7-server-rpms                                       | 3.5 kB     00:00     
saltstack-salt                                           | 3.0 kB     00:00     
(1/12): epel/x86_64/updateinfo                             | 933 kB   00:00     
(2/12): epel/x86_64/primary                                | 3.6 MB   00:00     
(3/12): mariadb/primary_db                                 |  61 kB   00:00     
(4/12): remi-php72/primary_db                              | 195 kB   00:00     
(5/12): rhel-7-server-extras-rpms/x86_64/primary_db        | 420 kB   00:00     
(6/12): rhel-7-server-extras-rpms/x86_64/updateinfo        | 273 kB   00:00     
(7/12): remi/primary_db                                    | 2.2 MB   00:00     
(8/12): remi-safe/primary_db                               | 1.3 MB   00:01     
(9/12): rhel-7-server-optional-rpms/7Server/x86_64/primary | 7.2 MB   00:00     
(10/12): rhel-7-server-optional-rpms/7Server/x86_64/update | 2.1 MB   00:00     
(11/12): rhel-7-server-rpms/7Server/x86_64/updateinfo      | 2.9 MB   00:00     
(12/12): rhel-7-server-rpms/7Server/x86_64/primary_db      |  55 MB   00:01     
epel                                                                12647/12647
Package php-pecl-imagick-3.4.3-10.el7.remi.7.2.x86_64 already installed and latest version
Nothing to do
[root@llothien ~]#

相关内容