无法在亚马逊 Linux 2 上为 PHP 7.4 安装 php-imagick
Can't install php-imagick on Amazon Linux 2 for PHP 7.4
当我尝试 运行 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 Linux2 上,PHP 版本是 7.4.7
我的存储库首先是为 RHEL 和 CentOS 设计的。
在版本 7.8 中,ImageMagick 被重新设置为 6.9.10,并且 php-pecl-imagick 至少需要这个新的版本。
看来亚马逊还是落后了。
您可以启用“remi”存储库,它提供最新版本(目前为 6.9.11-28)
# yum --enablerepo=remi,remi-php74 install php-pecl-imagick
为了记忆,这被跟踪为 #144
我终于让它工作了。这是我使用的命令。首先设置 Amazon linux 以使用 php7.4
sudo yum install -y amazon-linux-extras
sudo amazon-linux-extras disable php7.2
sudo amazon-linux-extras disable lamp-mariadb10.2-php7.2
sudo amazon-linux-extras enable php7.4
现在安装 PHP 和一些额外的库
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
将扩展名=imagick.so添加到文件的动态扩展部分。
sudo vi /etc/php.ini
这是我发现的最简洁的方法(在 Amazon PHP 7.4 Linux AMI 2 下):
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
当我尝试 运行 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 Linux2 上,PHP 版本是 7.4.7
我的存储库首先是为 RHEL 和 CentOS 设计的。
在版本 7.8 中,ImageMagick 被重新设置为 6.9.10,并且 php-pecl-imagick 至少需要这个新的版本。
看来亚马逊还是落后了。
您可以启用“remi”存储库,它提供最新版本(目前为 6.9.11-28)
# yum --enablerepo=remi,remi-php74 install php-pecl-imagick
为了记忆,这被跟踪为 #144
我终于让它工作了。这是我使用的命令。首先设置 Amazon linux 以使用 php7.4
sudo yum install -y amazon-linux-extras
sudo amazon-linux-extras disable php7.2
sudo amazon-linux-extras disable lamp-mariadb10.2-php7.2
sudo amazon-linux-extras enable php7.4
现在安装 PHP 和一些额外的库
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
将扩展名=imagick.so添加到文件的动态扩展部分。
sudo vi /etc/php.ini
这是我发现的最简洁的方法(在 Amazon PHP 7.4 Linux AMI 2 下):
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