微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法在Amazon Linux 2 for PHP 7.4上安装php-imagick

如何解决无法在Amazon Linux 2 for PHP 7.4上安装php-imagick

当我尝试运行sudo yum install PHP-imagick

我收到此回复

Loaded plugins: extras_suggestions,langpacks,priorities,update-motd
amzn2-core                                                                                                                                                                                                                                                                      | 3.7 kB  00:00:00     
299 packages excluded due to repository priority protections
Resolving Dependencies
--> Running transaction check
---> Package PHP-pecl-imagick.x86_64 0:3.4.4-10.el7.remi.7.4 will be installed
--> Processing Dependency: libmagickCore-6.Q16.so.6()(64bit) for package: PHP-pecl-imagick-3.4.4-10.el7.remi.7.4.x86_64
--> Processing Dependency: libmagickWand-6.Q16.so.6()(64bit) for package: PHP-pecl-imagick-3.4.4-10.el7.remi.7.4.x86_64
--> Finished Dependency Resolution
Error: Package: PHP-pecl-imagick-3.4.4-10.el7.remi.7.4.x86_64 (remi-PHP74)
           Requires: libmagickCore-6.Q16.so.6()(64bit)
Error: Package: PHP-pecl-imagick-3.4.4-10.el7.remi.7.4.x86_64 (remi-PHP74)
           Requires: libmagickWand-6.Q16.so.6()(64bit)
 You Could try using --skip-broken to work around the problem
 You Could try running: rpm -Va --nofiles --nodigest

服务器在Amazon Linux 2上,PHP版本为7.4.7

解决方法

这是我发现的最干净的方法(在 Amazon Linux AMI 2 上的 PHP 7.4 下):

sudo yum -y install php-pear php-devel gcc ImageMagick ImageMagick-devel
sudo bash -c "yes '' | pecl install -f imagick"
sudo bash -c "echo 'extension=imagick.so' > /etc/php.d/imagick.ini"

如果您正在使用 php-fpm,请不要忘记重新启动它:

sudo systemctl restart php-fpm.service
,

我终于开始工作了。这是我使用的命令。首先设置Amazon Linux使用php7.4

sudo yum clean metadata
# The following line may not be needed,but it was part of my script
sudo yum -y install php-cli php-pdo php-fpm php-json php-mysqlnd php-xml php-mbstring php-soap php-gd
sudo yum -y install php-pear php-devel gcc 
sudo yum -y install ImageMagick ImageMagick-devel ImageMagick-perl
sudo pecl install imagick
sudo chmod 755 /usr/lib64/php/modules/imagick.so

现在安装PHP和一些其他库

sudo vi /etc/php.ini

将extension = imagick.so添加到文件的“动态扩展”部分。

{{1}}
,

我的存储库最初是为RHEL和CentOS设计的。

在版本 7.8 中,ImageMagick被重新设置为 6.9.10 ,而php-pecl-imagick至少需要此新版本。

所以看起来亚马逊仍然落后了。

您可以启用提供最新版本(目前为6.9.11-28)的“ remi”存储库

# yum --enablerepo=remi,remi-php74 install php-pecl-imagick

对于内存,它被跟踪为#144

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。