如何在 ubuntu 上为 php7 安装 imagemagick?

aze*_*ati 81 imagemagick php7

好吧,就在升级我的 Ubuntu 并因此转移到 php7 之后,我似乎无法使用相同的旧命令为 php 安装 imagick 扩展

sudo apt-get install php5-imagick
Run Code Online (Sandbox Code Playgroud)

我收到此错误(也尝试过 php7-imagick)

 Package php5-imagick is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'php5-imagick' has no installation candidate
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

Vid*_*uth 131

做就是了:

sudo apt-get install php-imagick
Run Code Online (Sandbox Code Playgroud)

这应该imagick为 PHP 7.0安装。

  • 工作,但我必须按照@alexg 建议重新启动服务 php7.0-fpm (4认同)

ale*_*exg 40

结果我不得不重新启动 fpm:

sudo service php7.0-fpm reload
Run Code Online (Sandbox Code Playgroud)

我尝试过的事情:

apt install php-imagick对我不起作用。该模块正在为 PHP CLI 加载(我检查过,php -m | grep -i imagick但通过我的 nginx 网络服务器,它根本没有出现在报告的模块列表中phpinfo()

我什extension=imagick.so/etc/php/7.0/fpm/php.ini手动插入,只是为了确保。

然后我尝试清除php-imagick软件包并从 cpan 安装:

sudo apt install libmagickwand-dev imagemagick php-dev
sudo pecl install imagick
Run Code Online (Sandbox Code Playgroud)

仍然没有雪茄。它可以通过 cli 工作,但不能通过 nginx。


小智 9

安装了这些软件包:

sudo apt install libmagickwand-dev imagemagick php-dev
sudo pecl install imagick
Run Code Online (Sandbox Code Playgroud)

现在替换:

sudo service php7.0-fpm reload
Run Code Online (Sandbox Code Playgroud)

和:

sudo service apache2 restart
Run Code Online (Sandbox Code Playgroud)

效果很好


Kok*_*kil 9

对于 php 5.6: sudo apt-get install php5.6-imagick

对于 php 7.0: sudo apt-get install php7.0-imagick

对于 php 7.1: sudo apt-get install php7.1-imagick

对于 php 7.2:sudo apt-get install php7.2-imagick

对于 php 7.3: sudo apt-get install php7.3-imagick

对于 php 7.4:sudo apt-get install php7.4-imagick

对于 php 8.0:sudo apt-get install php8.0-imagick

  • 不敢相信这是一个兔子洞,这是完美的 - 谢谢。 (2认同)
  • 唯一有效的方法! (2认同)