【发布时间】:2019-12-08 08:25:55
【问题描述】:
我安装了多个 PHP 版本(7.0、7.1 和 7.3)。我已启用 PHP 7.0(出于各种原因,我需要保留此版本)。当我尝试安装 imagick 时(通过 sudo apt-get install php-imagick),库仅针对 PHP 7.3 进行复制/安装,尽管我使用的是 7.0,如 php -v 和 phpinfo 文件所确认。
我是否缺少任何 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 的扩展文件夹中
【问题讨论】:
-
你是如何安装各个版本的 PHP 的?
-
通常
apt倾向于安装可用的最新版本,我不认为考虑到alternatives。如果您使用外部存储库,它们可能具有更高的优先级。尝试安装php7.0-imagick -
@Jonnix 通过 ppa 回购。
-
全部?然后它们可能会在 repos 中适当地进行版本控制。
apt search php imagick并为每个版本找到合适的安装包。 -
@Jonnix 是的,所有这些。我已经更新了我的问题。