好吧,在升级我的 Ubuntu 并因此转向 php7 之后,我似乎无法使用相同的旧命令为 php 安装 imagick 扩展
sudo apt-get install php5-imagick
我收到此错误(也尝试了 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
我应该怎么办?
答案1
做就是了:
sudo apt-get install php-imagick
这应该安装imagick
PHP 7.0。
答案2
事实证明我必须重新启动 fpm:
sudo service php7.0-fpm reload
我尝试过的事情:
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
但还是不行。它可以通过 CLI 工作,但不能通过 nginx 工作。
答案3
对于 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
对于 php 8.1:sudo apt-get install php8.1-imagick
重启apache后:sudo service apache2 reload
答案4
现在是 2018 年,只是想强调一下,在很多情况下,您还需要安装 php-gd 和 php-imagick(例如,如果您为 wordpress 安装它)。
sudo apt install php-imagick php-gd
sudo systemctl restart apache2
如果您的 php 版本是 7.2,则使用 php-imagick 意味着使用 php7.2-imagick。