【问题标题】:How can I install imagick in current enabled PHP version?如何在当前启用的 PHP 版本中安装 imagick?
【发布时间】: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 保持最高优先级。


screen

更新 #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 是的,所有这些。我已经更新了我的问题。

标签: php apache debian imagick


【解决方案1】:

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

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

【讨论】:

  • 感谢您澄清这方面。我不知道...我之前在 Debian 9 上,升级到 Debian 10。这就是为什么我有一个 PHP 7.0。
  • 不幸的是,使用 PHP 7.3 mysqli_real_connect() 将不再连接到我的数据库服务器......但这是另一个问题。
  • 那就解决这个问题吧!继续使用过时的 PHP 版本不是一个可行的长期解决方案。
猜你喜欢
  • 2021-09-21
  • 1970-01-01
  • 2013-07-31
  • 2013-02-12
  • 1970-01-01
  • 1970-01-01
  • 2017-03-18
  • 2011-12-13
  • 2020-12-30
相关资源
最近更新 更多