首页 > 解决方案 > 如何在当前启用的 PHP 版本中安装 imagick?

问题描述

我安装了多个 PHP 版本(7.0、7.1 和 7.3)。我已启用 PHP 7.0(出于各种原因,我需要保留此版本)。当我尝试安装 imagick (通过 sudo apt-get install php-imagick)时,库仅针对 PHP 7.3 进行复制/安装,尽管我使用的是 php -v 和 phpinfo 文件确认的 7.0。

我是否缺少任何 Apache 设置?为什么在安装新的 php 库时不将当前启用 7.0 的模块视为默认 php 版本?

操作系统:Debian 10 WS:Apache/2.4.38

我尝试编辑 php.ini、启用扩展、通常的基本过程……但 imagick.so 仅针对 php 7.3 编译。PHP 7.0 的扩展文件夹中没有它们的踪迹,也无法加载它。

更新#1

检查sudo update-alternatives --config php
我看到了这张表(见图) - 我不知道如何更改优先级或自动模式。看起来 PHP 7.3 保持最高优先级。


屏幕

更新#2

试过这个,没有结果。

PHP 7.0 设置为默认
sudo update-alternatives --set php /usr/bin/php7.0 sudo update-alternatives --set php-config /usr/bin/php-config7.0 sudo update-alternatives --set phpize / usr/bin/phpize7.0

重新安装 imagick

sudo apt-get install imagemagick php-imagick --reinstall
(没有错误,但它会继续为 PHP 7.3 安装它们)
php -m 不显示任何模块,因为它们位于 php 7.3 的扩展文件夹中

标签: phpapachedebianimagick

解决方案


Debian 10 使用 PHP 7.3 作为其“标准”PHP 版本,因此其所有 PHP 扩展包(包括php-imagick)都将包含针对 PHP 7.3 的扩展。

如果您以某种方式安装了 PHP 7.0(您不应该这样做,因为它已于 2019 年 1 月终止并且不再接收安全更新),您将需要通过其他渠道获取它的扩展。


推荐阅读